/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/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/loops-crafted-1/theatreSquare.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 11:36:06,155 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 11:36:06,157 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 11:36:06,191 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 11:36:06,192 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 11:36:06,193 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 11:36:06,195 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 11:36:06,197 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 11:36:06,198 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 11:36:06,201 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 11:36:06,202 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 11:36:06,203 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 11:36:06,203 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 11:36:06,205 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 11:36:06,205 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 11:36:06,207 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 11:36:06,208 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 11:36:06,208 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 11:36:06,210 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 11:36:06,213 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 11:36:06,215 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 11:36:06,215 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 11:36:06,216 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 11:36:06,217 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 11:36:06,218 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 11:36:06,221 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 11:36:06,221 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 11:36:06,221 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 11:36:06,222 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 11:36:06,222 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 11:36:06,222 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 11:36:06,223 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 11:36:06,223 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 11:36:06,223 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 11:36:06,224 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 11:36:06,224 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 11:36:06,224 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 11:36:06,225 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 11:36:06,225 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 11:36:06,225 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 11:36:06,225 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 11:36:06,229 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 11:36:06,229 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 11:36:06,251 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 11:36:06,252 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 11:36:06,252 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 11:36:06,252 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 11:36:06,252 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 11:36:06,253 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 11:36:06,253 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 11:36:06,253 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 11:36:06,253 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 11:36:06,254 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 11:36:06,254 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 11:36:06,254 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 11:36:06,254 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 11:36:06,254 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 11:36:06,254 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 11:36:06,254 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 11:36:06,254 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 11:36:06,255 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 11:36:06,255 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 11:36:06,255 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 11:36:06,255 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 11:36:06,255 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 11:36:06,256 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 11:36:06,256 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 11:36:06,256 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 11:36:06,256 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 11:36:06,256 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 11:36:06,256 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 11:36:06,256 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 11:36:06,256 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 11:36:06,256 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 11:36:06,256 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 11:36:06,256 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 11:36:06,257 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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-27 11:36:06,438 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 11:36:06,454 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 11:36:06,456 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 11:36:06,457 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 11:36:06,457 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 11:36:06,458 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-27 11:36:06,498 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/697767b74/7c74a42decc54b378a101bfb3292eebe/FLAG07d91d63e [2022-04-27 11:36:06,831 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 11:36:06,831 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops-crafted-1/theatreSquare.c [2022-04-27 11:36:06,837 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/697767b74/7c74a42decc54b378a101bfb3292eebe/FLAG07d91d63e [2022-04-27 11:36:07,248 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/697767b74/7c74a42decc54b378a101bfb3292eebe [2022-04-27 11:36:07,250 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 11:36:07,251 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 11:36:07,252 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 11:36:07,252 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 11:36:07,254 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 11:36:07,255 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 11:36:07" (1/1) ... [2022-04-27 11:36:07,256 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7ff836d1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:36:07, skipping insertion in model container [2022-04-27 11:36:07,256 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 11:36:07" (1/1) ... [2022-04-27 11:36:07,260 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 11:36:07,275 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 11:36:07,392 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-27 11:36:07,427 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 11:36:07,432 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 11:36:07,444 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-27 11:36:07,451 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 11:36:07,463 INFO L208 MainTranslator]: Completed translation [2022-04-27 11:36:07,464 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:36:07 WrapperNode [2022-04-27 11:36:07,464 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 11:36:07,464 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 11:36:07,464 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 11:36:07,465 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 11:36:07,471 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:36:07" (1/1) ... [2022-04-27 11:36:07,471 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:36:07" (1/1) ... [2022-04-27 11:36:07,477 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:36:07" (1/1) ... [2022-04-27 11:36:07,477 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:36:07" (1/1) ... [2022-04-27 11:36:07,495 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:36:07" (1/1) ... [2022-04-27 11:36:07,499 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:36:07" (1/1) ... [2022-04-27 11:36:07,500 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:36:07" (1/1) ... [2022-04-27 11:36:07,501 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 11:36:07,502 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 11:36:07,502 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 11:36:07,502 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 11:36:07,507 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:36:07" (1/1) ... [2022-04-27 11:36:07,512 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 11:36:07,521 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:07,547 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-27 11:36:07,591 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-27 11:36:07,609 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 11:36:07,609 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 11:36:07,609 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 11:36:07,609 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 11:36:07,610 INFO L138 BoogieDeclarations]: Found implementation of procedure correct_version [2022-04-27 11:36:07,610 INFO L138 BoogieDeclarations]: Found implementation of procedure student_version [2022-04-27 11:36:07,610 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 11:36:07,610 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 11:36:07,610 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 11:36:07,610 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 11:36:07,610 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 11:36:07,611 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 11:36:07,611 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 11:36:07,611 INFO L130 BoogieDeclarations]: Found specification of procedure correct_version [2022-04-27 11:36:07,611 INFO L130 BoogieDeclarations]: Found specification of procedure student_version [2022-04-27 11:36:07,611 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 11:36:07,611 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 11:36:07,611 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 11:36:07,611 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 11:36:07,611 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 11:36:07,611 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 11:36:07,611 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 11:36:07,661 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 11:36:07,662 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 11:36:07,858 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 11:36:07,863 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 11:36:07,864 INFO L299 CfgBuilder]: Removed 6 assume(true) statements. [2022-04-27 11:36:07,865 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 11:36:07 BoogieIcfgContainer [2022-04-27 11:36:07,865 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 11:36:07,866 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 11:36:07,866 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 11:36:07,884 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 11:36:07,884 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 11:36:07" (1/3) ... [2022-04-27 11:36:07,884 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4acc7ded and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 11:36:07, skipping insertion in model container [2022-04-27 11:36:07,884 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 11:36:07" (2/3) ... [2022-04-27 11:36:07,885 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4acc7ded and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 11:36:07, skipping insertion in model container [2022-04-27 11:36:07,885 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 11:36:07" (3/3) ... [2022-04-27 11:36:07,886 INFO L111 eAbstractionObserver]: Analyzing ICFG theatreSquare.c [2022-04-27 11:36:07,896 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 11:36:07,897 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 11:36:07,936 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 11:36:07,947 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@44535fa1, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@48cc5301 [2022-04-27 11:36:07,948 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 11:36:07,953 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-27 11:36:07,958 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-04-27 11:36:07,958 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:07,958 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:07,958 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:07,961 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:07,962 INFO L85 PathProgramCache]: Analyzing trace with hash 1554304209, now seen corresponding path program 1 times [2022-04-27 11:36:07,970 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:07,971 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [436062554] [2022-04-27 11:36:07,972 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:07,972 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:08,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:08,141 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:08,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:08,164 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-27 11:36:08,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-27 11:36:08,165 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42#true} {42#true} #117#return; {42#true} is VALID [2022-04-27 11:36:08,167 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-27 11:36:08,168 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-27 11:36:08,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-27 11:36:08,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#true} {42#true} #117#return; {42#true} is VALID [2022-04-27 11:36:08,169 INFO L272 TraceCheckUtils]: 4: Hoare triple {42#true} call #t~ret10 := main(); {42#true} is VALID [2022-04-27 11:36:08,170 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-27 11:36:08,170 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-27 11:36:08,171 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-27 11:36:08,172 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-27 11:36:08,173 INFO L290 TraceCheckUtils]: 9: Hoare triple {49#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {43#false} is VALID [2022-04-27 11:36:08,174 INFO L290 TraceCheckUtils]: 10: Hoare triple {43#false} assume !false; {43#false} is VALID [2022-04-27 11:36:08,174 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-27 11:36:08,174 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:08,174 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [436062554] [2022-04-27 11:36:08,175 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [436062554] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:36:08,175 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:36:08,175 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 11:36:08,176 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [990889918] [2022-04-27 11:36:08,177 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:36:08,180 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-27 11:36:08,181 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:08,183 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-27 11:36:08,200 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-27 11:36:08,200 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 11:36:08,201 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:08,217 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 11:36:08,218 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 11:36:08,221 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-27 11:36:08,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:08,631 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-27 11:36:08,631 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 11:36:08,632 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-27 11:36:08,632 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:08,633 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-27 11:36:08,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 103 transitions. [2022-04-27 11:36:08,647 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-27 11:36:08,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 103 transitions. [2022-04-27 11:36:08,654 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 103 transitions. [2022-04-27 11:36:08,728 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-27 11:36:08,734 INFO L225 Difference]: With dead ends: 76 [2022-04-27 11:36:08,734 INFO L226 Difference]: Without dead ends: 32 [2022-04-27 11:36:08,736 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 11:36:08,738 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 46 mSDsluCounter, 21 mSDsCounter, 0 mSdLazyCounter, 121 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:08,739 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 61 Invalid, 131 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 121 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 11:36:08,748 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-27 11:36:08,755 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-27 11:36:08,756 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:08,756 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-27 11:36:08,757 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-27 11:36:08,757 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-27 11:36:08,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:08,759 INFO L93 Difference]: Finished difference Result 32 states and 37 transitions. [2022-04-27 11:36:08,759 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2022-04-27 11:36:08,759 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:08,759 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:08,760 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-27 11:36:08,760 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-27 11:36:08,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:08,762 INFO L93 Difference]: Finished difference Result 32 states and 37 transitions. [2022-04-27 11:36:08,762 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2022-04-27 11:36:08,762 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:08,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:08,762 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:08,762 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:08,763 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-27 11:36:08,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 37 transitions. [2022-04-27 11:36:08,764 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 37 transitions. Word has length 11 [2022-04-27 11:36:08,765 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:08,765 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 37 transitions. [2022-04-27 11:36:08,765 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.1666666666666667) internal successors, (7), 4 states have internal predecessors, (7), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 11:36:08,765 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2022-04-27 11:36:08,766 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-27 11:36:08,766 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:08,766 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:08,766 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 11:36:08,766 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:08,767 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:08,767 INFO L85 PathProgramCache]: Analyzing trace with hash 362112746, now seen corresponding path program 1 times [2022-04-27 11:36:08,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:08,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [708525297] [2022-04-27 11:36:08,767 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:08,768 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:08,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:08,888 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:08,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:08,894 INFO L290 TraceCheckUtils]: 0: Hoare triple {297#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {270#true} is VALID [2022-04-27 11:36:08,894 INFO L290 TraceCheckUtils]: 1: Hoare triple {270#true} assume true; {270#true} is VALID [2022-04-27 11:36:08,894 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {270#true} {270#true} #117#return; {270#true} is VALID [2022-04-27 11:36:08,895 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:08,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:08,946 INFO L290 TraceCheckUtils]: 0: Hoare triple {270#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {270#true} is VALID [2022-04-27 11:36:08,947 INFO L290 TraceCheckUtils]: 1: Hoare triple {270#true} assume !(~b~0 < ~n); {270#true} is VALID [2022-04-27 11:36:08,947 INFO L290 TraceCheckUtils]: 2: Hoare triple {270#true} assume !(~l~0 < ~m); {270#true} is VALID [2022-04-27 11:36:08,947 INFO L290 TraceCheckUtils]: 3: Hoare triple {270#true} ~x~0 := 0;~y~0 := 0; {298#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} is VALID [2022-04-27 11:36:08,948 INFO L290 TraceCheckUtils]: 4: Hoare triple {298#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} assume !(~x~0 < ~i~0); {298#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} is VALID [2022-04-27 11:36:08,948 INFO L290 TraceCheckUtils]: 5: Hoare triple {298#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} #res := ~y~0; {299#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} is VALID [2022-04-27 11:36:08,949 INFO L290 TraceCheckUtils]: 6: Hoare triple {299#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} assume true; {299#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} is VALID [2022-04-27 11:36:08,950 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {299#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} {270#true} #111#return; {283#(= |main_#t~ret8| 0)} is VALID [2022-04-27 11:36:08,950 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 11:36:08,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:09,031 INFO L290 TraceCheckUtils]: 0: Hoare triple {270#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {270#true} is VALID [2022-04-27 11:36:09,031 INFO L290 TraceCheckUtils]: 1: Hoare triple {270#true} assume !(~b~1 < ~n); {270#true} is VALID [2022-04-27 11:36:09,032 INFO L290 TraceCheckUtils]: 2: Hoare triple {270#true} assume !(~l~1 < ~m); {270#true} is VALID [2022-04-27 11:36:09,033 INFO L290 TraceCheckUtils]: 3: Hoare triple {270#true} ~x~1 := 0;~y~1 := 0; {300#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} is VALID [2022-04-27 11:36:09,033 INFO L290 TraceCheckUtils]: 4: Hoare triple {300#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} assume !(~x~1 < ~i~1); {300#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} is VALID [2022-04-27 11:36:09,034 INFO L290 TraceCheckUtils]: 5: Hoare triple {300#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} #res := ~y~1; {301#(= |student_version_#res| 0)} is VALID [2022-04-27 11:36:09,034 INFO L290 TraceCheckUtils]: 6: Hoare triple {301#(= |student_version_#res| 0)} assume true; {301#(= |student_version_#res| 0)} is VALID [2022-04-27 11:36:09,035 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {301#(= |student_version_#res| 0)} {284#(= main_~n_stones1~0 0)} #113#return; {293#(= main_~n_stones1~0 |main_#t~ret9|)} is VALID [2022-04-27 11:36:09,036 INFO L272 TraceCheckUtils]: 0: Hoare triple {270#true} call ULTIMATE.init(); {297#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:09,036 INFO L290 TraceCheckUtils]: 1: Hoare triple {297#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {270#true} is VALID [2022-04-27 11:36:09,036 INFO L290 TraceCheckUtils]: 2: Hoare triple {270#true} assume true; {270#true} is VALID [2022-04-27 11:36:09,036 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {270#true} {270#true} #117#return; {270#true} is VALID [2022-04-27 11:36:09,036 INFO L272 TraceCheckUtils]: 4: Hoare triple {270#true} call #t~ret10 := main(); {270#true} is VALID [2022-04-27 11:36:09,036 INFO L290 TraceCheckUtils]: 5: Hoare triple {270#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {270#true} is VALID [2022-04-27 11:36:09,036 INFO L290 TraceCheckUtils]: 6: Hoare triple {270#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {270#true} is VALID [2022-04-27 11:36:09,037 INFO L272 TraceCheckUtils]: 7: Hoare triple {270#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {270#true} is VALID [2022-04-27 11:36:09,037 INFO L290 TraceCheckUtils]: 8: Hoare triple {270#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {270#true} is VALID [2022-04-27 11:36:09,037 INFO L290 TraceCheckUtils]: 9: Hoare triple {270#true} assume !(~b~0 < ~n); {270#true} is VALID [2022-04-27 11:36:09,037 INFO L290 TraceCheckUtils]: 10: Hoare triple {270#true} assume !(~l~0 < ~m); {270#true} is VALID [2022-04-27 11:36:09,037 INFO L290 TraceCheckUtils]: 11: Hoare triple {270#true} ~x~0 := 0;~y~0 := 0; {298#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} is VALID [2022-04-27 11:36:09,038 INFO L290 TraceCheckUtils]: 12: Hoare triple {298#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} assume !(~x~0 < ~i~0); {298#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} is VALID [2022-04-27 11:36:09,038 INFO L290 TraceCheckUtils]: 13: Hoare triple {298#(and (<= correct_version_~y~0 0) (<= 0 correct_version_~y~0))} #res := ~y~0; {299#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} is VALID [2022-04-27 11:36:09,039 INFO L290 TraceCheckUtils]: 14: Hoare triple {299#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} assume true; {299#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} is VALID [2022-04-27 11:36:09,040 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {299#(and (<= 0 |correct_version_#res|) (<= |correct_version_#res| 0))} {270#true} #111#return; {283#(= |main_#t~ret8| 0)} is VALID [2022-04-27 11:36:09,040 INFO L290 TraceCheckUtils]: 16: Hoare triple {283#(= |main_#t~ret8| 0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {284#(= main_~n_stones1~0 0)} is VALID [2022-04-27 11:36:09,048 INFO L272 TraceCheckUtils]: 17: Hoare triple {284#(= main_~n_stones1~0 0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {270#true} is VALID [2022-04-27 11:36:09,048 INFO L290 TraceCheckUtils]: 18: Hoare triple {270#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {270#true} is VALID [2022-04-27 11:36:09,048 INFO L290 TraceCheckUtils]: 19: Hoare triple {270#true} assume !(~b~1 < ~n); {270#true} is VALID [2022-04-27 11:36:09,048 INFO L290 TraceCheckUtils]: 20: Hoare triple {270#true} assume !(~l~1 < ~m); {270#true} is VALID [2022-04-27 11:36:09,049 INFO L290 TraceCheckUtils]: 21: Hoare triple {270#true} ~x~1 := 0;~y~1 := 0; {300#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} is VALID [2022-04-27 11:36:09,049 INFO L290 TraceCheckUtils]: 22: Hoare triple {300#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} assume !(~x~1 < ~i~1); {300#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} is VALID [2022-04-27 11:36:09,050 INFO L290 TraceCheckUtils]: 23: Hoare triple {300#(and (<= 0 student_version_~y~1) (<= student_version_~y~1 0))} #res := ~y~1; {301#(= |student_version_#res| 0)} is VALID [2022-04-27 11:36:09,050 INFO L290 TraceCheckUtils]: 24: Hoare triple {301#(= |student_version_#res| 0)} assume true; {301#(= |student_version_#res| 0)} is VALID [2022-04-27 11:36:09,051 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {301#(= |student_version_#res| 0)} {284#(= main_~n_stones1~0 0)} #113#return; {293#(= main_~n_stones1~0 |main_#t~ret9|)} is VALID [2022-04-27 11:36:09,053 INFO L290 TraceCheckUtils]: 26: Hoare triple {293#(= main_~n_stones1~0 |main_#t~ret9|)} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {294#(= main_~n_stones2~0 main_~n_stones1~0)} is VALID [2022-04-27 11:36:09,053 INFO L272 TraceCheckUtils]: 27: Hoare triple {294#(= main_~n_stones2~0 main_~n_stones1~0)} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {295#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:36:09,055 INFO L290 TraceCheckUtils]: 28: Hoare triple {295#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {296#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:36:09,055 INFO L290 TraceCheckUtils]: 29: Hoare triple {296#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {271#false} is VALID [2022-04-27 11:36:09,055 INFO L290 TraceCheckUtils]: 30: Hoare triple {271#false} assume !false; {271#false} is VALID [2022-04-27 11:36:09,056 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-27 11:36:09,056 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:09,056 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [708525297] [2022-04-27 11:36:09,056 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [708525297] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:36:09,056 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:36:09,056 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-27 11:36:09,056 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [636337003] [2022-04-27 11:36:09,057 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:36:09,058 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-27 11:36:09,058 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:09,058 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-27 11:36:09,085 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-27 11:36:09,085 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-27 11:36:09,085 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:09,085 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-27 11:36:09,086 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=133, Unknown=0, NotChecked=0, Total=156 [2022-04-27 11:36:09,086 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-27 11:36:09,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:09,818 INFO L93 Difference]: Finished difference Result 50 states and 58 transitions. [2022-04-27 11:36:09,818 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-27 11:36:09,818 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-27 11:36:09,818 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:09,818 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-27 11:36:09,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 58 transitions. [2022-04-27 11:36:09,820 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-27 11:36:09,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 58 transitions. [2022-04-27 11:36:09,822 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 58 transitions. [2022-04-27 11:36:09,870 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-27 11:36:09,871 INFO L225 Difference]: With dead ends: 50 [2022-04-27 11:36:09,872 INFO L226 Difference]: Without dead ends: 44 [2022-04-27 11:36:09,872 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=80, Invalid=472, Unknown=0, NotChecked=0, Total=552 [2022-04-27 11:36:09,873 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 42 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 335 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 80 SdHoareTripleChecker+Invalid, 356 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 335 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:09,873 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 80 Invalid, 356 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 335 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 11:36:09,874 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-27 11:36:09,880 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 42. [2022-04-27 11:36:09,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:09,880 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-27 11:36:09,881 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-27 11:36:09,881 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-27 11:36:09,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:09,883 INFO L93 Difference]: Finished difference Result 44 states and 52 transitions. [2022-04-27 11:36:09,883 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 52 transitions. [2022-04-27 11:36:09,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:09,884 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:09,884 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-27 11:36:09,884 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-27 11:36:09,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:09,886 INFO L93 Difference]: Finished difference Result 44 states and 52 transitions. [2022-04-27 11:36:09,886 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 52 transitions. [2022-04-27 11:36:09,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:09,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:09,887 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:09,887 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:09,887 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-27 11:36:09,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2022-04-27 11:36:09,888 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 50 transitions. Word has length 31 [2022-04-27 11:36:09,889 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:09,889 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 50 transitions. [2022-04-27 11:36:09,889 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:09,889 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 50 transitions. [2022-04-27 11:36:09,890 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-27 11:36:09,890 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:09,890 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:09,890 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 11:36:09,890 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:09,890 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:09,890 INFO L85 PathProgramCache]: Analyzing trace with hash -310269904, now seen corresponding path program 1 times [2022-04-27 11:36:09,891 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:09,891 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1085963971] [2022-04-27 11:36:09,891 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:09,891 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:09,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:09,926 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:09,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:09,930 INFO L290 TraceCheckUtils]: 0: Hoare triple {566#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {544#true} is VALID [2022-04-27 11:36:09,930 INFO L290 TraceCheckUtils]: 1: Hoare triple {544#true} assume true; {544#true} is VALID [2022-04-27 11:36:09,930 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {544#true} {544#true} #117#return; {544#true} is VALID [2022-04-27 11:36:09,931 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:09,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:09,935 INFO L290 TraceCheckUtils]: 0: Hoare triple {544#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {544#true} is VALID [2022-04-27 11:36:09,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {544#true} assume !(~b~0 < ~n); {544#true} is VALID [2022-04-27 11:36:09,935 INFO L290 TraceCheckUtils]: 2: Hoare triple {544#true} assume !(~l~0 < ~m); {544#true} is VALID [2022-04-27 11:36:09,935 INFO L290 TraceCheckUtils]: 3: Hoare triple {544#true} ~x~0 := 0;~y~0 := 0; {544#true} is VALID [2022-04-27 11:36:09,936 INFO L290 TraceCheckUtils]: 4: Hoare triple {544#true} assume !(~x~0 < ~i~0); {544#true} is VALID [2022-04-27 11:36:09,936 INFO L290 TraceCheckUtils]: 5: Hoare triple {544#true} #res := ~y~0; {544#true} is VALID [2022-04-27 11:36:09,936 INFO L290 TraceCheckUtils]: 6: Hoare triple {544#true} assume true; {544#true} is VALID [2022-04-27 11:36:09,936 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {544#true} {544#true} #111#return; {544#true} is VALID [2022-04-27 11:36:09,936 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 11:36:09,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:09,953 INFO L290 TraceCheckUtils]: 0: Hoare triple {544#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {567#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:36:09,953 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#(<= student_version_~i~1 0)} assume !(~b~1 < ~n); {567#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:36:09,953 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#(<= student_version_~i~1 0)} assume !(~l~1 < ~m); {567#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:36:09,954 INFO L290 TraceCheckUtils]: 3: Hoare triple {567#(<= student_version_~i~1 0)} ~x~1 := 0;~y~1 := 0; {568#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:36:09,954 INFO L290 TraceCheckUtils]: 4: Hoare triple {568#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {545#false} is VALID [2022-04-27 11:36:09,954 INFO L290 TraceCheckUtils]: 5: Hoare triple {545#false} assume !(~x~1 < ~i~1); {545#false} is VALID [2022-04-27 11:36:09,954 INFO L290 TraceCheckUtils]: 6: Hoare triple {545#false} #res := ~y~1; {545#false} is VALID [2022-04-27 11:36:09,954 INFO L290 TraceCheckUtils]: 7: Hoare triple {545#false} assume true; {545#false} is VALID [2022-04-27 11:36:09,955 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {545#false} {544#true} #113#return; {545#false} is VALID [2022-04-27 11:36:09,955 INFO L272 TraceCheckUtils]: 0: Hoare triple {544#true} call ULTIMATE.init(); {566#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:09,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {566#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {544#true} is VALID [2022-04-27 11:36:09,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {544#true} assume true; {544#true} is VALID [2022-04-27 11:36:09,956 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {544#true} {544#true} #117#return; {544#true} is VALID [2022-04-27 11:36:09,956 INFO L272 TraceCheckUtils]: 4: Hoare triple {544#true} call #t~ret10 := main(); {544#true} is VALID [2022-04-27 11:36:09,956 INFO L290 TraceCheckUtils]: 5: Hoare triple {544#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {544#true} is VALID [2022-04-27 11:36:09,956 INFO L290 TraceCheckUtils]: 6: Hoare triple {544#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {544#true} is VALID [2022-04-27 11:36:09,956 INFO L272 TraceCheckUtils]: 7: Hoare triple {544#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {544#true} is VALID [2022-04-27 11:36:09,956 INFO L290 TraceCheckUtils]: 8: Hoare triple {544#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {544#true} is VALID [2022-04-27 11:36:09,956 INFO L290 TraceCheckUtils]: 9: Hoare triple {544#true} assume !(~b~0 < ~n); {544#true} is VALID [2022-04-27 11:36:09,956 INFO L290 TraceCheckUtils]: 10: Hoare triple {544#true} assume !(~l~0 < ~m); {544#true} is VALID [2022-04-27 11:36:09,957 INFO L290 TraceCheckUtils]: 11: Hoare triple {544#true} ~x~0 := 0;~y~0 := 0; {544#true} is VALID [2022-04-27 11:36:09,957 INFO L290 TraceCheckUtils]: 12: Hoare triple {544#true} assume !(~x~0 < ~i~0); {544#true} is VALID [2022-04-27 11:36:09,957 INFO L290 TraceCheckUtils]: 13: Hoare triple {544#true} #res := ~y~0; {544#true} is VALID [2022-04-27 11:36:09,957 INFO L290 TraceCheckUtils]: 14: Hoare triple {544#true} assume true; {544#true} is VALID [2022-04-27 11:36:09,957 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {544#true} {544#true} #111#return; {544#true} is VALID [2022-04-27 11:36:09,957 INFO L290 TraceCheckUtils]: 16: Hoare triple {544#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {544#true} is VALID [2022-04-27 11:36:09,957 INFO L272 TraceCheckUtils]: 17: Hoare triple {544#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {544#true} is VALID [2022-04-27 11:36:09,958 INFO L290 TraceCheckUtils]: 18: Hoare triple {544#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {567#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:36:09,958 INFO L290 TraceCheckUtils]: 19: Hoare triple {567#(<= student_version_~i~1 0)} assume !(~b~1 < ~n); {567#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:36:09,958 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#(<= student_version_~i~1 0)} assume !(~l~1 < ~m); {567#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:36:09,958 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#(<= student_version_~i~1 0)} ~x~1 := 0;~y~1 := 0; {568#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:36:09,959 INFO L290 TraceCheckUtils]: 22: Hoare triple {568#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {545#false} is VALID [2022-04-27 11:36:09,959 INFO L290 TraceCheckUtils]: 23: Hoare triple {545#false} assume !(~x~1 < ~i~1); {545#false} is VALID [2022-04-27 11:36:09,959 INFO L290 TraceCheckUtils]: 24: Hoare triple {545#false} #res := ~y~1; {545#false} is VALID [2022-04-27 11:36:09,959 INFO L290 TraceCheckUtils]: 25: Hoare triple {545#false} assume true; {545#false} is VALID [2022-04-27 11:36:09,959 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {545#false} {544#true} #113#return; {545#false} is VALID [2022-04-27 11:36:09,960 INFO L290 TraceCheckUtils]: 27: Hoare triple {545#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {545#false} is VALID [2022-04-27 11:36:09,960 INFO L272 TraceCheckUtils]: 28: Hoare triple {545#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {545#false} is VALID [2022-04-27 11:36:09,960 INFO L290 TraceCheckUtils]: 29: Hoare triple {545#false} ~cond := #in~cond; {545#false} is VALID [2022-04-27 11:36:09,960 INFO L290 TraceCheckUtils]: 30: Hoare triple {545#false} assume 0 == ~cond; {545#false} is VALID [2022-04-27 11:36:09,960 INFO L290 TraceCheckUtils]: 31: Hoare triple {545#false} assume !false; {545#false} is VALID [2022-04-27 11:36:09,960 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-27 11:36:09,960 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:09,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1085963971] [2022-04-27 11:36:09,961 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1085963971] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:36:09,961 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:36:09,961 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 11:36:09,961 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [779943984] [2022-04-27 11:36:09,961 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:36:09,961 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-27 11:36:09,962 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:09,962 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-27 11:36:09,979 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-27 11:36:09,979 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 11:36:09,980 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:09,980 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 11:36:09,980 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 11:36:09,980 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-27 11:36:10,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:10,149 INFO L93 Difference]: Finished difference Result 59 states and 71 transitions. [2022-04-27 11:36:10,149 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 11:36:10,149 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-27 11:36:10,150 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:10,150 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-27 11:36:10,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 57 transitions. [2022-04-27 11:36:10,153 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-27 11:36:10,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 57 transitions. [2022-04-27 11:36:10,155 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 57 transitions. [2022-04-27 11:36:10,200 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-27 11:36:10,202 INFO L225 Difference]: With dead ends: 59 [2022-04-27 11:36:10,202 INFO L226 Difference]: Without dead ends: 49 [2022-04-27 11:36:10,202 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2022-04-27 11:36:10,203 INFO L413 NwaCegarLoop]: 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-27 11:36:10,204 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 45 Invalid, 74 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 68 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:36:10,204 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-27 11:36:10,211 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 46. [2022-04-27 11:36:10,212 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:10,212 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-27 11:36:10,212 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-27 11:36:10,212 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-27 11:36:10,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:10,214 INFO L93 Difference]: Finished difference Result 49 states and 59 transitions. [2022-04-27 11:36:10,214 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 59 transitions. [2022-04-27 11:36:10,214 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:10,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:10,215 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-27 11:36:10,215 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-27 11:36:10,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:10,217 INFO L93 Difference]: Finished difference Result 49 states and 59 transitions. [2022-04-27 11:36:10,217 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 59 transitions. [2022-04-27 11:36:10,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:10,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:10,217 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:10,217 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:10,218 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-27 11:36:10,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 56 transitions. [2022-04-27 11:36:10,219 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 56 transitions. Word has length 32 [2022-04-27 11:36:10,219 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:10,219 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 56 transitions. [2022-04-27 11:36:10,219 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:36:10,220 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 56 transitions. [2022-04-27 11:36:10,220 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-27 11:36:10,220 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:10,220 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:10,220 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-27 11:36:10,221 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:10,221 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:10,221 INFO L85 PathProgramCache]: Analyzing trace with hash 1053423629, now seen corresponding path program 1 times [2022-04-27 11:36:10,221 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:10,221 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [66458341] [2022-04-27 11:36:10,221 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:10,221 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:10,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:10,248 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:10,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:10,252 INFO L290 TraceCheckUtils]: 0: Hoare triple {843#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {821#true} is VALID [2022-04-27 11:36:10,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {821#true} assume true; {821#true} is VALID [2022-04-27 11:36:10,253 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {821#true} {821#true} #117#return; {821#true} is VALID [2022-04-27 11:36:10,253 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:10,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:10,270 INFO L290 TraceCheckUtils]: 0: Hoare triple {821#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {844#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:36:10,270 INFO L290 TraceCheckUtils]: 1: Hoare triple {844#(<= correct_version_~i~0 0)} assume !(~b~0 < ~n); {844#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:36:10,271 INFO L290 TraceCheckUtils]: 2: Hoare triple {844#(<= correct_version_~i~0 0)} assume !(~l~0 < ~m); {844#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:36:10,271 INFO L290 TraceCheckUtils]: 3: Hoare triple {844#(<= correct_version_~i~0 0)} ~x~0 := 0;~y~0 := 0; {845#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:36:10,272 INFO L290 TraceCheckUtils]: 4: Hoare triple {845#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {822#false} is VALID [2022-04-27 11:36:10,272 INFO L290 TraceCheckUtils]: 5: Hoare triple {822#false} assume !(~x~0 < ~i~0); {822#false} is VALID [2022-04-27 11:36:10,272 INFO L290 TraceCheckUtils]: 6: Hoare triple {822#false} #res := ~y~0; {822#false} is VALID [2022-04-27 11:36:10,272 INFO L290 TraceCheckUtils]: 7: Hoare triple {822#false} assume true; {822#false} is VALID [2022-04-27 11:36:10,272 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {822#false} {821#true} #111#return; {822#false} is VALID [2022-04-27 11:36:10,272 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-27 11:36:10,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:10,279 INFO L290 TraceCheckUtils]: 0: Hoare triple {821#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {821#true} is VALID [2022-04-27 11:36:10,279 INFO L290 TraceCheckUtils]: 1: Hoare triple {821#true} assume !(~b~1 < ~n); {821#true} is VALID [2022-04-27 11:36:10,279 INFO L290 TraceCheckUtils]: 2: Hoare triple {821#true} assume !(~l~1 < ~m); {821#true} is VALID [2022-04-27 11:36:10,279 INFO L290 TraceCheckUtils]: 3: Hoare triple {821#true} ~x~1 := 0;~y~1 := 0; {821#true} is VALID [2022-04-27 11:36:10,279 INFO L290 TraceCheckUtils]: 4: Hoare triple {821#true} assume !(~x~1 < ~i~1); {821#true} is VALID [2022-04-27 11:36:10,279 INFO L290 TraceCheckUtils]: 5: Hoare triple {821#true} #res := ~y~1; {821#true} is VALID [2022-04-27 11:36:10,280 INFO L290 TraceCheckUtils]: 6: Hoare triple {821#true} assume true; {821#true} is VALID [2022-04-27 11:36:10,280 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {821#true} {822#false} #113#return; {822#false} is VALID [2022-04-27 11:36:10,280 INFO L272 TraceCheckUtils]: 0: Hoare triple {821#true} call ULTIMATE.init(); {843#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:10,280 INFO L290 TraceCheckUtils]: 1: Hoare triple {843#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {821#true} is VALID [2022-04-27 11:36:10,281 INFO L290 TraceCheckUtils]: 2: Hoare triple {821#true} assume true; {821#true} is VALID [2022-04-27 11:36:10,281 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {821#true} {821#true} #117#return; {821#true} is VALID [2022-04-27 11:36:10,281 INFO L272 TraceCheckUtils]: 4: Hoare triple {821#true} call #t~ret10 := main(); {821#true} is VALID [2022-04-27 11:36:10,281 INFO L290 TraceCheckUtils]: 5: Hoare triple {821#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {821#true} is VALID [2022-04-27 11:36:10,281 INFO L290 TraceCheckUtils]: 6: Hoare triple {821#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {821#true} is VALID [2022-04-27 11:36:10,281 INFO L272 TraceCheckUtils]: 7: Hoare triple {821#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {821#true} is VALID [2022-04-27 11:36:10,282 INFO L290 TraceCheckUtils]: 8: Hoare triple {821#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {844#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:36:10,282 INFO L290 TraceCheckUtils]: 9: Hoare triple {844#(<= correct_version_~i~0 0)} assume !(~b~0 < ~n); {844#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:36:10,282 INFO L290 TraceCheckUtils]: 10: Hoare triple {844#(<= correct_version_~i~0 0)} assume !(~l~0 < ~m); {844#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:36:10,282 INFO L290 TraceCheckUtils]: 11: Hoare triple {844#(<= correct_version_~i~0 0)} ~x~0 := 0;~y~0 := 0; {845#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:36:10,283 INFO L290 TraceCheckUtils]: 12: Hoare triple {845#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {822#false} is VALID [2022-04-27 11:36:10,283 INFO L290 TraceCheckUtils]: 13: Hoare triple {822#false} assume !(~x~0 < ~i~0); {822#false} is VALID [2022-04-27 11:36:10,283 INFO L290 TraceCheckUtils]: 14: Hoare triple {822#false} #res := ~y~0; {822#false} is VALID [2022-04-27 11:36:10,283 INFO L290 TraceCheckUtils]: 15: Hoare triple {822#false} assume true; {822#false} is VALID [2022-04-27 11:36:10,283 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {822#false} {821#true} #111#return; {822#false} is VALID [2022-04-27 11:36:10,283 INFO L290 TraceCheckUtils]: 17: Hoare triple {822#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {822#false} is VALID [2022-04-27 11:36:10,284 INFO L272 TraceCheckUtils]: 18: Hoare triple {822#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {821#true} is VALID [2022-04-27 11:36:10,284 INFO L290 TraceCheckUtils]: 19: Hoare triple {821#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {821#true} is VALID [2022-04-27 11:36:10,284 INFO L290 TraceCheckUtils]: 20: Hoare triple {821#true} assume !(~b~1 < ~n); {821#true} is VALID [2022-04-27 11:36:10,284 INFO L290 TraceCheckUtils]: 21: Hoare triple {821#true} assume !(~l~1 < ~m); {821#true} is VALID [2022-04-27 11:36:10,284 INFO L290 TraceCheckUtils]: 22: Hoare triple {821#true} ~x~1 := 0;~y~1 := 0; {821#true} is VALID [2022-04-27 11:36:10,284 INFO L290 TraceCheckUtils]: 23: Hoare triple {821#true} assume !(~x~1 < ~i~1); {821#true} is VALID [2022-04-27 11:36:10,284 INFO L290 TraceCheckUtils]: 24: Hoare triple {821#true} #res := ~y~1; {821#true} is VALID [2022-04-27 11:36:10,284 INFO L290 TraceCheckUtils]: 25: Hoare triple {821#true} assume true; {821#true} is VALID [2022-04-27 11:36:10,285 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {821#true} {822#false} #113#return; {822#false} is VALID [2022-04-27 11:36:10,288 INFO L290 TraceCheckUtils]: 27: Hoare triple {822#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {822#false} is VALID [2022-04-27 11:36:10,289 INFO L272 TraceCheckUtils]: 28: Hoare triple {822#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {822#false} is VALID [2022-04-27 11:36:10,289 INFO L290 TraceCheckUtils]: 29: Hoare triple {822#false} ~cond := #in~cond; {822#false} is VALID [2022-04-27 11:36:10,289 INFO L290 TraceCheckUtils]: 30: Hoare triple {822#false} assume 0 == ~cond; {822#false} is VALID [2022-04-27 11:36:10,289 INFO L290 TraceCheckUtils]: 31: Hoare triple {822#false} assume !false; {822#false} is VALID [2022-04-27 11:36:10,289 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-27 11:36:10,289 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:10,290 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [66458341] [2022-04-27 11:36:10,290 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [66458341] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:36:10,290 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:36:10,290 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 11:36:10,290 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1519122853] [2022-04-27 11:36:10,290 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:36:10,290 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-27 11:36:10,291 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:10,291 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-27 11:36:10,314 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-27 11:36:10,314 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 11:36:10,314 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:10,314 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 11:36:10,314 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 11:36:10,315 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-27 11:36:10,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:10,509 INFO L93 Difference]: Finished difference Result 81 states and 100 transitions. [2022-04-27 11:36:10,509 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 11:36:10,509 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-27 11:36:10,510 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:10,510 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-27 11:36:10,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-27 11:36:10,511 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-27 11:36:10,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-27 11:36:10,513 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2022-04-27 11:36:10,567 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-27 11:36:10,568 INFO L225 Difference]: With dead ends: 81 [2022-04-27 11:36:10,568 INFO L226 Difference]: Without dead ends: 53 [2022-04-27 11:36:10,569 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2022-04-27 11:36:10,569 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 44 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 65 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 65 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:10,570 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 45 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 65 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:36:10,570 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-27 11:36:10,580 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 50. [2022-04-27 11:36:10,580 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:10,580 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-27 11:36:10,580 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-27 11:36:10,580 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-27 11:36:10,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:10,582 INFO L93 Difference]: Finished difference Result 53 states and 65 transitions. [2022-04-27 11:36:10,582 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 65 transitions. [2022-04-27 11:36:10,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:10,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:10,583 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-27 11:36:10,583 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-27 11:36:10,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:10,585 INFO L93 Difference]: Finished difference Result 53 states and 65 transitions. [2022-04-27 11:36:10,585 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 65 transitions. [2022-04-27 11:36:10,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:10,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:10,585 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:10,585 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:10,586 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-27 11:36:10,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 62 transitions. [2022-04-27 11:36:10,587 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 62 transitions. Word has length 32 [2022-04-27 11:36:10,587 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:10,587 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 62 transitions. [2022-04-27 11:36:10,587 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:10,588 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 62 transitions. [2022-04-27 11:36:10,588 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 11:36:10,588 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:10,588 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:10,588 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-27 11:36:10,589 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:10,589 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:10,589 INFO L85 PathProgramCache]: Analyzing trace with hash 755216986, now seen corresponding path program 1 times [2022-04-27 11:36:10,589 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:10,589 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1296755769] [2022-04-27 11:36:10,589 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:10,589 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:10,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:10,626 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:10,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:10,630 INFO L290 TraceCheckUtils]: 0: Hoare triple {1167#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {1143#true} is VALID [2022-04-27 11:36:10,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {1143#true} assume true; {1143#true} is VALID [2022-04-27 11:36:10,630 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1143#true} {1143#true} #117#return; {1143#true} is VALID [2022-04-27 11:36:10,630 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:10,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:10,650 INFO L290 TraceCheckUtils]: 0: Hoare triple {1143#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {1168#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n))} is VALID [2022-04-27 11:36:10,651 INFO L290 TraceCheckUtils]: 1: Hoare triple {1168#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n))} assume !(~b~0 < ~n); {1169#(<= |correct_version_#in~n| 0)} is VALID [2022-04-27 11:36:10,651 INFO L290 TraceCheckUtils]: 2: Hoare triple {1169#(<= |correct_version_#in~n| 0)} assume !(~l~0 < ~m); {1169#(<= |correct_version_#in~n| 0)} is VALID [2022-04-27 11:36:10,651 INFO L290 TraceCheckUtils]: 3: Hoare triple {1169#(<= |correct_version_#in~n| 0)} ~x~0 := 0;~y~0 := 0; {1169#(<= |correct_version_#in~n| 0)} is VALID [2022-04-27 11:36:10,651 INFO L290 TraceCheckUtils]: 4: Hoare triple {1169#(<= |correct_version_#in~n| 0)} assume !(~x~0 < ~i~0); {1169#(<= |correct_version_#in~n| 0)} is VALID [2022-04-27 11:36:10,652 INFO L290 TraceCheckUtils]: 5: Hoare triple {1169#(<= |correct_version_#in~n| 0)} #res := ~y~0; {1169#(<= |correct_version_#in~n| 0)} is VALID [2022-04-27 11:36:10,652 INFO L290 TraceCheckUtils]: 6: Hoare triple {1169#(<= |correct_version_#in~n| 0)} assume true; {1169#(<= |correct_version_#in~n| 0)} is VALID [2022-04-27 11:36:10,653 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1169#(<= |correct_version_#in~n| 0)} {1148#(<= 1 main_~n~0)} #111#return; {1144#false} is VALID [2022-04-27 11:36:10,653 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 11:36:10,657 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:10,660 INFO L290 TraceCheckUtils]: 0: Hoare triple {1143#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {1143#true} is VALID [2022-04-27 11:36:10,660 INFO L290 TraceCheckUtils]: 1: Hoare triple {1143#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {1143#true} is VALID [2022-04-27 11:36:10,660 INFO L290 TraceCheckUtils]: 2: Hoare triple {1143#true} assume !(~b~1 < ~n); {1143#true} is VALID [2022-04-27 11:36:10,660 INFO L290 TraceCheckUtils]: 3: Hoare triple {1143#true} assume !(~l~1 < ~m); {1143#true} is VALID [2022-04-27 11:36:10,660 INFO L290 TraceCheckUtils]: 4: Hoare triple {1143#true} ~x~1 := 0;~y~1 := 0; {1143#true} is VALID [2022-04-27 11:36:10,660 INFO L290 TraceCheckUtils]: 5: Hoare triple {1143#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {1143#true} is VALID [2022-04-27 11:36:10,661 INFO L290 TraceCheckUtils]: 6: Hoare triple {1143#true} assume !(~x~1 < ~i~1); {1143#true} is VALID [2022-04-27 11:36:10,661 INFO L290 TraceCheckUtils]: 7: Hoare triple {1143#true} #res := ~y~1; {1143#true} is VALID [2022-04-27 11:36:10,661 INFO L290 TraceCheckUtils]: 8: Hoare triple {1143#true} assume true; {1143#true} is VALID [2022-04-27 11:36:10,661 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1143#true} {1144#false} #113#return; {1144#false} is VALID [2022-04-27 11:36:10,661 INFO L272 TraceCheckUtils]: 0: Hoare triple {1143#true} call ULTIMATE.init(); {1167#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:10,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {1167#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {1143#true} is VALID [2022-04-27 11:36:10,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {1143#true} assume true; {1143#true} is VALID [2022-04-27 11:36:10,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1143#true} {1143#true} #117#return; {1143#true} is VALID [2022-04-27 11:36:10,662 INFO L272 TraceCheckUtils]: 4: Hoare triple {1143#true} call #t~ret10 := main(); {1143#true} is VALID [2022-04-27 11:36:10,662 INFO L290 TraceCheckUtils]: 5: Hoare triple {1143#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {1143#true} is VALID [2022-04-27 11:36:10,662 INFO L290 TraceCheckUtils]: 6: Hoare triple {1143#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {1148#(<= 1 main_~n~0)} is VALID [2022-04-27 11:36:10,662 INFO L272 TraceCheckUtils]: 7: Hoare triple {1148#(<= 1 main_~n~0)} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {1143#true} is VALID [2022-04-27 11:36:10,663 INFO L290 TraceCheckUtils]: 8: Hoare triple {1143#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {1168#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n))} is VALID [2022-04-27 11:36:10,663 INFO L290 TraceCheckUtils]: 9: Hoare triple {1168#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n))} assume !(~b~0 < ~n); {1169#(<= |correct_version_#in~n| 0)} is VALID [2022-04-27 11:36:10,663 INFO L290 TraceCheckUtils]: 10: Hoare triple {1169#(<= |correct_version_#in~n| 0)} assume !(~l~0 < ~m); {1169#(<= |correct_version_#in~n| 0)} is VALID [2022-04-27 11:36:10,664 INFO L290 TraceCheckUtils]: 11: Hoare triple {1169#(<= |correct_version_#in~n| 0)} ~x~0 := 0;~y~0 := 0; {1169#(<= |correct_version_#in~n| 0)} is VALID [2022-04-27 11:36:10,664 INFO L290 TraceCheckUtils]: 12: Hoare triple {1169#(<= |correct_version_#in~n| 0)} assume !(~x~0 < ~i~0); {1169#(<= |correct_version_#in~n| 0)} is VALID [2022-04-27 11:36:10,664 INFO L290 TraceCheckUtils]: 13: Hoare triple {1169#(<= |correct_version_#in~n| 0)} #res := ~y~0; {1169#(<= |correct_version_#in~n| 0)} is VALID [2022-04-27 11:36:10,665 INFO L290 TraceCheckUtils]: 14: Hoare triple {1169#(<= |correct_version_#in~n| 0)} assume true; {1169#(<= |correct_version_#in~n| 0)} is VALID [2022-04-27 11:36:10,665 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1169#(<= |correct_version_#in~n| 0)} {1148#(<= 1 main_~n~0)} #111#return; {1144#false} is VALID [2022-04-27 11:36:10,665 INFO L290 TraceCheckUtils]: 16: Hoare triple {1144#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {1144#false} is VALID [2022-04-27 11:36:10,666 INFO L272 TraceCheckUtils]: 17: Hoare triple {1144#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {1143#true} is VALID [2022-04-27 11:36:10,666 INFO L290 TraceCheckUtils]: 18: Hoare triple {1143#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {1143#true} is VALID [2022-04-27 11:36:10,666 INFO L290 TraceCheckUtils]: 19: Hoare triple {1143#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {1143#true} is VALID [2022-04-27 11:36:10,666 INFO L290 TraceCheckUtils]: 20: Hoare triple {1143#true} assume !(~b~1 < ~n); {1143#true} is VALID [2022-04-27 11:36:10,666 INFO L290 TraceCheckUtils]: 21: Hoare triple {1143#true} assume !(~l~1 < ~m); {1143#true} is VALID [2022-04-27 11:36:10,666 INFO L290 TraceCheckUtils]: 22: Hoare triple {1143#true} ~x~1 := 0;~y~1 := 0; {1143#true} is VALID [2022-04-27 11:36:10,666 INFO L290 TraceCheckUtils]: 23: Hoare triple {1143#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {1143#true} is VALID [2022-04-27 11:36:10,666 INFO L290 TraceCheckUtils]: 24: Hoare triple {1143#true} assume !(~x~1 < ~i~1); {1143#true} is VALID [2022-04-27 11:36:10,666 INFO L290 TraceCheckUtils]: 25: Hoare triple {1143#true} #res := ~y~1; {1143#true} is VALID [2022-04-27 11:36:10,666 INFO L290 TraceCheckUtils]: 26: Hoare triple {1143#true} assume true; {1143#true} is VALID [2022-04-27 11:36:10,666 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1143#true} {1144#false} #113#return; {1144#false} is VALID [2022-04-27 11:36:10,667 INFO L290 TraceCheckUtils]: 28: Hoare triple {1144#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {1144#false} is VALID [2022-04-27 11:36:10,667 INFO L272 TraceCheckUtils]: 29: Hoare triple {1144#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {1144#false} is VALID [2022-04-27 11:36:10,667 INFO L290 TraceCheckUtils]: 30: Hoare triple {1144#false} ~cond := #in~cond; {1144#false} is VALID [2022-04-27 11:36:10,667 INFO L290 TraceCheckUtils]: 31: Hoare triple {1144#false} assume 0 == ~cond; {1144#false} is VALID [2022-04-27 11:36:10,667 INFO L290 TraceCheckUtils]: 32: Hoare triple {1144#false} assume !false; {1144#false} is VALID [2022-04-27 11:36:10,667 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-27 11:36:10,667 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:10,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1296755769] [2022-04-27 11:36:10,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1296755769] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:36:10,668 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:36:10,668 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 11:36:10,668 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1779347408] [2022-04-27 11:36:10,668 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:36:10,668 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-27 11:36:10,668 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:10,668 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-27 11:36:10,694 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-27 11:36:10,695 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 11:36:10,695 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:10,695 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 11:36:10,695 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 11:36:10,695 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-27 11:36:10,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:10,896 INFO L93 Difference]: Finished difference Result 77 states and 93 transitions. [2022-04-27 11:36:10,896 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 11:36:10,897 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-27 11:36:10,897 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:10,897 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-27 11:36:10,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-27 11:36:10,898 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-27 11:36:10,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-27 11:36:10,899 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 64 transitions. [2022-04-27 11:36:10,944 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-27 11:36:10,945 INFO L225 Difference]: With dead ends: 77 [2022-04-27 11:36:10,945 INFO L226 Difference]: Without dead ends: 47 [2022-04-27 11:36:10,946 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-04-27 11:36:10,946 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 44 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 95 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 50 SdHoareTripleChecker+Invalid, 104 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 95 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:10,947 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 50 Invalid, 104 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 95 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:36:10,947 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-27 11:36:10,958 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2022-04-27 11:36:10,958 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:10,958 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-27 11:36:10,959 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-27 11:36:10,959 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-27 11:36:10,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:10,960 INFO L93 Difference]: Finished difference Result 47 states and 57 transitions. [2022-04-27 11:36:10,960 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 57 transitions. [2022-04-27 11:36:10,960 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:10,960 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:10,961 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-27 11:36:10,961 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-27 11:36:10,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:10,962 INFO L93 Difference]: Finished difference Result 47 states and 57 transitions. [2022-04-27 11:36:10,962 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 57 transitions. [2022-04-27 11:36:10,962 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:10,962 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:10,962 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:10,962 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:10,963 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-27 11:36:10,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 57 transitions. [2022-04-27 11:36:10,964 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 57 transitions. Word has length 33 [2022-04-27 11:36:10,964 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:10,964 INFO L495 AbstractCegarLoop]: Abstraction has 47 states and 57 transitions. [2022-04-27 11:36:10,964 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 11:36:10,964 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 57 transitions. [2022-04-27 11:36:10,965 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 11:36:10,965 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:10,965 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:10,965 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-04-27 11:36:10,965 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:10,965 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:10,965 INFO L85 PathProgramCache]: Analyzing trace with hash 1803948538, now seen corresponding path program 1 times [2022-04-27 11:36:10,965 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:10,966 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [966940536] [2022-04-27 11:36:10,966 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:10,966 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:11,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:11,027 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:11,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:11,031 INFO L290 TraceCheckUtils]: 0: Hoare triple {1470#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {1446#true} is VALID [2022-04-27 11:36:11,031 INFO L290 TraceCheckUtils]: 1: Hoare triple {1446#true} assume true; {1446#true} is VALID [2022-04-27 11:36:11,031 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1446#true} {1446#true} #117#return; {1446#true} is VALID [2022-04-27 11:36:11,031 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:11,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:11,072 INFO L290 TraceCheckUtils]: 0: Hoare triple {1446#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {1471#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:11,072 INFO L290 TraceCheckUtils]: 1: Hoare triple {1471#(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; {1471#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:11,073 INFO L290 TraceCheckUtils]: 2: Hoare triple {1471#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {1471#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:11,073 INFO L290 TraceCheckUtils]: 3: Hoare triple {1471#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} assume !(~l~0 < ~m); {1472#(<= |correct_version_#in~m| 0)} is VALID [2022-04-27 11:36:11,073 INFO L290 TraceCheckUtils]: 4: Hoare triple {1472#(<= |correct_version_#in~m| 0)} ~x~0 := 0;~y~0 := 0; {1472#(<= |correct_version_#in~m| 0)} is VALID [2022-04-27 11:36:11,074 INFO L290 TraceCheckUtils]: 5: Hoare triple {1472#(<= |correct_version_#in~m| 0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {1472#(<= |correct_version_#in~m| 0)} is VALID [2022-04-27 11:36:11,074 INFO L290 TraceCheckUtils]: 6: Hoare triple {1472#(<= |correct_version_#in~m| 0)} assume !(~x~0 < ~i~0); {1472#(<= |correct_version_#in~m| 0)} is VALID [2022-04-27 11:36:11,074 INFO L290 TraceCheckUtils]: 7: Hoare triple {1472#(<= |correct_version_#in~m| 0)} #res := ~y~0; {1472#(<= |correct_version_#in~m| 0)} is VALID [2022-04-27 11:36:11,075 INFO L290 TraceCheckUtils]: 8: Hoare triple {1472#(<= |correct_version_#in~m| 0)} assume true; {1472#(<= |correct_version_#in~m| 0)} is VALID [2022-04-27 11:36:11,075 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1472#(<= |correct_version_#in~m| 0)} {1451#(<= 1 main_~m~0)} #111#return; {1447#false} is VALID [2022-04-27 11:36:11,076 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2022-04-27 11:36:11,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:11,084 INFO L290 TraceCheckUtils]: 0: Hoare triple {1446#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {1446#true} is VALID [2022-04-27 11:36:11,084 INFO L290 TraceCheckUtils]: 1: Hoare triple {1446#true} assume !(~b~1 < ~n); {1446#true} is VALID [2022-04-27 11:36:11,084 INFO L290 TraceCheckUtils]: 2: Hoare triple {1446#true} assume !(~l~1 < ~m); {1446#true} is VALID [2022-04-27 11:36:11,084 INFO L290 TraceCheckUtils]: 3: Hoare triple {1446#true} ~x~1 := 0;~y~1 := 0; {1446#true} is VALID [2022-04-27 11:36:11,084 INFO L290 TraceCheckUtils]: 4: Hoare triple {1446#true} assume !(~x~1 < ~i~1); {1446#true} is VALID [2022-04-27 11:36:11,084 INFO L290 TraceCheckUtils]: 5: Hoare triple {1446#true} #res := ~y~1; {1446#true} is VALID [2022-04-27 11:36:11,084 INFO L290 TraceCheckUtils]: 6: Hoare triple {1446#true} assume true; {1446#true} is VALID [2022-04-27 11:36:11,084 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1446#true} {1447#false} #113#return; {1447#false} is VALID [2022-04-27 11:36:11,085 INFO L272 TraceCheckUtils]: 0: Hoare triple {1446#true} call ULTIMATE.init(); {1470#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:11,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {1470#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {1446#true} is VALID [2022-04-27 11:36:11,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {1446#true} assume true; {1446#true} is VALID [2022-04-27 11:36:11,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1446#true} {1446#true} #117#return; {1446#true} is VALID [2022-04-27 11:36:11,085 INFO L272 TraceCheckUtils]: 4: Hoare triple {1446#true} call #t~ret10 := main(); {1446#true} is VALID [2022-04-27 11:36:11,085 INFO L290 TraceCheckUtils]: 5: Hoare triple {1446#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {1446#true} is VALID [2022-04-27 11:36:11,086 INFO L290 TraceCheckUtils]: 6: Hoare triple {1446#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {1451#(<= 1 main_~m~0)} is VALID [2022-04-27 11:36:11,086 INFO L272 TraceCheckUtils]: 7: Hoare triple {1451#(<= 1 main_~m~0)} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {1446#true} is VALID [2022-04-27 11:36:11,086 INFO L290 TraceCheckUtils]: 8: Hoare triple {1446#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {1471#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:11,087 INFO L290 TraceCheckUtils]: 9: Hoare triple {1471#(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; {1471#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:11,087 INFO L290 TraceCheckUtils]: 10: Hoare triple {1471#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {1471#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:11,087 INFO L290 TraceCheckUtils]: 11: Hoare triple {1471#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0))} assume !(~l~0 < ~m); {1472#(<= |correct_version_#in~m| 0)} is VALID [2022-04-27 11:36:11,088 INFO L290 TraceCheckUtils]: 12: Hoare triple {1472#(<= |correct_version_#in~m| 0)} ~x~0 := 0;~y~0 := 0; {1472#(<= |correct_version_#in~m| 0)} is VALID [2022-04-27 11:36:11,088 INFO L290 TraceCheckUtils]: 13: Hoare triple {1472#(<= |correct_version_#in~m| 0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {1472#(<= |correct_version_#in~m| 0)} is VALID [2022-04-27 11:36:11,088 INFO L290 TraceCheckUtils]: 14: Hoare triple {1472#(<= |correct_version_#in~m| 0)} assume !(~x~0 < ~i~0); {1472#(<= |correct_version_#in~m| 0)} is VALID [2022-04-27 11:36:11,089 INFO L290 TraceCheckUtils]: 15: Hoare triple {1472#(<= |correct_version_#in~m| 0)} #res := ~y~0; {1472#(<= |correct_version_#in~m| 0)} is VALID [2022-04-27 11:36:11,089 INFO L290 TraceCheckUtils]: 16: Hoare triple {1472#(<= |correct_version_#in~m| 0)} assume true; {1472#(<= |correct_version_#in~m| 0)} is VALID [2022-04-27 11:36:11,089 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1472#(<= |correct_version_#in~m| 0)} {1451#(<= 1 main_~m~0)} #111#return; {1447#false} is VALID [2022-04-27 11:36:11,090 INFO L290 TraceCheckUtils]: 18: Hoare triple {1447#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {1447#false} is VALID [2022-04-27 11:36:11,090 INFO L272 TraceCheckUtils]: 19: Hoare triple {1447#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {1446#true} is VALID [2022-04-27 11:36:11,090 INFO L290 TraceCheckUtils]: 20: Hoare triple {1446#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {1446#true} is VALID [2022-04-27 11:36:11,090 INFO L290 TraceCheckUtils]: 21: Hoare triple {1446#true} assume !(~b~1 < ~n); {1446#true} is VALID [2022-04-27 11:36:11,090 INFO L290 TraceCheckUtils]: 22: Hoare triple {1446#true} assume !(~l~1 < ~m); {1446#true} is VALID [2022-04-27 11:36:11,090 INFO L290 TraceCheckUtils]: 23: Hoare triple {1446#true} ~x~1 := 0;~y~1 := 0; {1446#true} is VALID [2022-04-27 11:36:11,090 INFO L290 TraceCheckUtils]: 24: Hoare triple {1446#true} assume !(~x~1 < ~i~1); {1446#true} is VALID [2022-04-27 11:36:11,090 INFO L290 TraceCheckUtils]: 25: Hoare triple {1446#true} #res := ~y~1; {1446#true} is VALID [2022-04-27 11:36:11,090 INFO L290 TraceCheckUtils]: 26: Hoare triple {1446#true} assume true; {1446#true} is VALID [2022-04-27 11:36:11,090 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1446#true} {1447#false} #113#return; {1447#false} is VALID [2022-04-27 11:36:11,091 INFO L290 TraceCheckUtils]: 28: Hoare triple {1447#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {1447#false} is VALID [2022-04-27 11:36:11,091 INFO L272 TraceCheckUtils]: 29: Hoare triple {1447#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {1447#false} is VALID [2022-04-27 11:36:11,091 INFO L290 TraceCheckUtils]: 30: Hoare triple {1447#false} ~cond := #in~cond; {1447#false} is VALID [2022-04-27 11:36:11,091 INFO L290 TraceCheckUtils]: 31: Hoare triple {1447#false} assume 0 == ~cond; {1447#false} is VALID [2022-04-27 11:36:11,091 INFO L290 TraceCheckUtils]: 32: Hoare triple {1447#false} assume !false; {1447#false} is VALID [2022-04-27 11:36:11,091 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-27 11:36:11,091 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:11,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [966940536] [2022-04-27 11:36:11,091 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [966940536] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:36:11,092 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:36:11,092 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 11:36:11,092 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [5281069] [2022-04-27 11:36:11,092 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:36:11,092 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-27 11:36:11,092 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:11,092 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-27 11:36:11,111 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-27 11:36:11,111 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 11:36:11,111 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:11,111 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 11:36:11,111 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 11:36:11,112 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-27 11:36:11,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:11,307 INFO L93 Difference]: Finished difference Result 83 states and 102 transitions. [2022-04-27 11:36:11,307 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 11:36:11,307 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-27 11:36:11,307 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:11,308 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-27 11:36:11,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2022-04-27 11:36:11,309 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-27 11:36:11,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2022-04-27 11:36:11,310 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 63 transitions. [2022-04-27 11:36:11,353 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-27 11:36:11,354 INFO L225 Difference]: With dead ends: 83 [2022-04-27 11:36:11,354 INFO L226 Difference]: Without dead ends: 48 [2022-04-27 11:36:11,355 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-04-27 11:36:11,355 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 41 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 50 SdHoareTripleChecker+Invalid, 102 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:11,356 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 50 Invalid, 102 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:36:11,356 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-27 11:36:11,386 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 48. [2022-04-27 11:36:11,386 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:11,386 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-27 11:36:11,386 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-27 11:36:11,386 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-27 11:36:11,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:11,388 INFO L93 Difference]: Finished difference Result 48 states and 58 transitions. [2022-04-27 11:36:11,388 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2022-04-27 11:36:11,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:11,388 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:11,388 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-27 11:36:11,388 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-27 11:36:11,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:11,390 INFO L93 Difference]: Finished difference Result 48 states and 58 transitions. [2022-04-27 11:36:11,390 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2022-04-27 11:36:11,390 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:11,390 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:11,390 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:11,390 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:11,390 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-27 11:36:11,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 58 transitions. [2022-04-27 11:36:11,391 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 58 transitions. Word has length 33 [2022-04-27 11:36:11,391 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:11,392 INFO L495 AbstractCegarLoop]: Abstraction has 48 states and 58 transitions. [2022-04-27 11:36:11,392 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 11:36:11,392 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2022-04-27 11:36:11,392 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-27 11:36:11,392 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:11,392 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:11,392 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-04-27 11:36:11,392 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:11,393 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:11,393 INFO L85 PathProgramCache]: Analyzing trace with hash -1563500484, now seen corresponding path program 1 times [2022-04-27 11:36:11,393 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:11,393 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1704887430] [2022-04-27 11:36:11,393 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:11,393 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:11,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:11,460 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:11,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:11,464 INFO L290 TraceCheckUtils]: 0: Hoare triple {1785#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {1760#true} is VALID [2022-04-27 11:36:11,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {1760#true} assume true; {1760#true} is VALID [2022-04-27 11:36:11,464 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1760#true} {1760#true} #117#return; {1760#true} is VALID [2022-04-27 11:36:11,478 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:11,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:11,486 INFO L290 TraceCheckUtils]: 0: Hoare triple {1760#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {1760#true} is VALID [2022-04-27 11:36:11,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {1760#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {1760#true} is VALID [2022-04-27 11:36:11,486 INFO L290 TraceCheckUtils]: 2: Hoare triple {1760#true} assume !(~b~0 < ~n); {1760#true} is VALID [2022-04-27 11:36:11,486 INFO L290 TraceCheckUtils]: 3: Hoare triple {1760#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {1760#true} is VALID [2022-04-27 11:36:11,486 INFO L290 TraceCheckUtils]: 4: Hoare triple {1760#true} assume !(~l~0 < ~m); {1760#true} is VALID [2022-04-27 11:36:11,486 INFO L290 TraceCheckUtils]: 5: Hoare triple {1760#true} ~x~0 := 0;~y~0 := 0; {1760#true} is VALID [2022-04-27 11:36:11,486 INFO L290 TraceCheckUtils]: 6: Hoare triple {1760#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {1760#true} is VALID [2022-04-27 11:36:11,487 INFO L290 TraceCheckUtils]: 7: Hoare triple {1760#true} assume !(~x~0 < ~i~0); {1760#true} is VALID [2022-04-27 11:36:11,487 INFO L290 TraceCheckUtils]: 8: Hoare triple {1760#true} #res := ~y~0; {1760#true} is VALID [2022-04-27 11:36:11,487 INFO L290 TraceCheckUtils]: 9: Hoare triple {1760#true} assume true; {1760#true} is VALID [2022-04-27 11:36:11,487 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1760#true} {1765#(<= 1 main_~n~0)} #111#return; {1765#(<= 1 main_~n~0)} is VALID [2022-04-27 11:36:11,488 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-27 11:36:11,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:11,506 INFO L290 TraceCheckUtils]: 0: Hoare triple {1760#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {1786#(and (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:36:11,506 INFO L290 TraceCheckUtils]: 1: Hoare triple {1786#(and (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {1787#(<= |student_version_#in~n| 0)} is VALID [2022-04-27 11:36:11,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {1787#(<= |student_version_#in~n| 0)} assume !(~l~1 < ~m); {1787#(<= |student_version_#in~n| 0)} is VALID [2022-04-27 11:36:11,507 INFO L290 TraceCheckUtils]: 3: Hoare triple {1787#(<= |student_version_#in~n| 0)} ~x~1 := 0;~y~1 := 0; {1787#(<= |student_version_#in~n| 0)} is VALID [2022-04-27 11:36:11,507 INFO L290 TraceCheckUtils]: 4: Hoare triple {1787#(<= |student_version_#in~n| 0)} assume !(~x~1 < ~i~1); {1787#(<= |student_version_#in~n| 0)} is VALID [2022-04-27 11:36:11,507 INFO L290 TraceCheckUtils]: 5: Hoare triple {1787#(<= |student_version_#in~n| 0)} #res := ~y~1; {1787#(<= |student_version_#in~n| 0)} is VALID [2022-04-27 11:36:11,507 INFO L290 TraceCheckUtils]: 6: Hoare triple {1787#(<= |student_version_#in~n| 0)} assume true; {1787#(<= |student_version_#in~n| 0)} is VALID [2022-04-27 11:36:11,508 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1787#(<= |student_version_#in~n| 0)} {1765#(<= 1 main_~n~0)} #113#return; {1761#false} is VALID [2022-04-27 11:36:11,509 INFO L272 TraceCheckUtils]: 0: Hoare triple {1760#true} call ULTIMATE.init(); {1785#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:11,509 INFO L290 TraceCheckUtils]: 1: Hoare triple {1785#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {1760#true} is VALID [2022-04-27 11:36:11,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {1760#true} assume true; {1760#true} is VALID [2022-04-27 11:36:11,509 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1760#true} {1760#true} #117#return; {1760#true} is VALID [2022-04-27 11:36:11,509 INFO L272 TraceCheckUtils]: 4: Hoare triple {1760#true} call #t~ret10 := main(); {1760#true} is VALID [2022-04-27 11:36:11,509 INFO L290 TraceCheckUtils]: 5: Hoare triple {1760#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {1760#true} is VALID [2022-04-27 11:36:11,509 INFO L290 TraceCheckUtils]: 6: Hoare triple {1760#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {1765#(<= 1 main_~n~0)} is VALID [2022-04-27 11:36:11,509 INFO L272 TraceCheckUtils]: 7: Hoare triple {1765#(<= 1 main_~n~0)} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {1760#true} is VALID [2022-04-27 11:36:11,509 INFO L290 TraceCheckUtils]: 8: Hoare triple {1760#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {1760#true} is VALID [2022-04-27 11:36:11,510 INFO L290 TraceCheckUtils]: 9: Hoare triple {1760#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {1760#true} is VALID [2022-04-27 11:36:11,510 INFO L290 TraceCheckUtils]: 10: Hoare triple {1760#true} assume !(~b~0 < ~n); {1760#true} is VALID [2022-04-27 11:36:11,510 INFO L290 TraceCheckUtils]: 11: Hoare triple {1760#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {1760#true} is VALID [2022-04-27 11:36:11,510 INFO L290 TraceCheckUtils]: 12: Hoare triple {1760#true} assume !(~l~0 < ~m); {1760#true} is VALID [2022-04-27 11:36:11,510 INFO L290 TraceCheckUtils]: 13: Hoare triple {1760#true} ~x~0 := 0;~y~0 := 0; {1760#true} is VALID [2022-04-27 11:36:11,510 INFO L290 TraceCheckUtils]: 14: Hoare triple {1760#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {1760#true} is VALID [2022-04-27 11:36:11,510 INFO L290 TraceCheckUtils]: 15: Hoare triple {1760#true} assume !(~x~0 < ~i~0); {1760#true} is VALID [2022-04-27 11:36:11,510 INFO L290 TraceCheckUtils]: 16: Hoare triple {1760#true} #res := ~y~0; {1760#true} is VALID [2022-04-27 11:36:11,510 INFO L290 TraceCheckUtils]: 17: Hoare triple {1760#true} assume true; {1760#true} is VALID [2022-04-27 11:36:11,511 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1760#true} {1765#(<= 1 main_~n~0)} #111#return; {1765#(<= 1 main_~n~0)} is VALID [2022-04-27 11:36:11,511 INFO L290 TraceCheckUtils]: 19: Hoare triple {1765#(<= 1 main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {1765#(<= 1 main_~n~0)} is VALID [2022-04-27 11:36:11,511 INFO L272 TraceCheckUtils]: 20: Hoare triple {1765#(<= 1 main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {1760#true} is VALID [2022-04-27 11:36:11,512 INFO L290 TraceCheckUtils]: 21: Hoare triple {1760#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {1786#(and (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:36:11,512 INFO L290 TraceCheckUtils]: 22: Hoare triple {1786#(and (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {1787#(<= |student_version_#in~n| 0)} is VALID [2022-04-27 11:36:11,512 INFO L290 TraceCheckUtils]: 23: Hoare triple {1787#(<= |student_version_#in~n| 0)} assume !(~l~1 < ~m); {1787#(<= |student_version_#in~n| 0)} is VALID [2022-04-27 11:36:11,513 INFO L290 TraceCheckUtils]: 24: Hoare triple {1787#(<= |student_version_#in~n| 0)} ~x~1 := 0;~y~1 := 0; {1787#(<= |student_version_#in~n| 0)} is VALID [2022-04-27 11:36:11,513 INFO L290 TraceCheckUtils]: 25: Hoare triple {1787#(<= |student_version_#in~n| 0)} assume !(~x~1 < ~i~1); {1787#(<= |student_version_#in~n| 0)} is VALID [2022-04-27 11:36:11,513 INFO L290 TraceCheckUtils]: 26: Hoare triple {1787#(<= |student_version_#in~n| 0)} #res := ~y~1; {1787#(<= |student_version_#in~n| 0)} is VALID [2022-04-27 11:36:11,513 INFO L290 TraceCheckUtils]: 27: Hoare triple {1787#(<= |student_version_#in~n| 0)} assume true; {1787#(<= |student_version_#in~n| 0)} is VALID [2022-04-27 11:36:11,514 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1787#(<= |student_version_#in~n| 0)} {1765#(<= 1 main_~n~0)} #113#return; {1761#false} is VALID [2022-04-27 11:36:11,514 INFO L290 TraceCheckUtils]: 29: Hoare triple {1761#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {1761#false} is VALID [2022-04-27 11:36:11,514 INFO L272 TraceCheckUtils]: 30: Hoare triple {1761#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {1761#false} is VALID [2022-04-27 11:36:11,514 INFO L290 TraceCheckUtils]: 31: Hoare triple {1761#false} ~cond := #in~cond; {1761#false} is VALID [2022-04-27 11:36:11,514 INFO L290 TraceCheckUtils]: 32: Hoare triple {1761#false} assume 0 == ~cond; {1761#false} is VALID [2022-04-27 11:36:11,514 INFO L290 TraceCheckUtils]: 33: Hoare triple {1761#false} assume !false; {1761#false} is VALID [2022-04-27 11:36:11,515 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-27 11:36:11,515 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:11,515 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1704887430] [2022-04-27 11:36:11,515 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1704887430] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:36:11,515 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:36:11,515 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 11:36:11,515 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [502176513] [2022-04-27 11:36:11,515 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:36:11,516 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-27 11:36:11,516 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:11,516 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-27 11:36:11,534 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-27 11:36:11,534 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 11:36:11,534 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:11,535 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 11:36:11,535 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 11:36:11,535 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-27 11:36:11,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:11,728 INFO L93 Difference]: Finished difference Result 57 states and 66 transitions. [2022-04-27 11:36:11,728 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 11:36:11,728 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-27 11:36:11,728 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:11,728 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-27 11:36:11,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-27 11:36:11,729 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-27 11:36:11,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-27 11:36:11,730 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 51 transitions. [2022-04-27 11:36:11,767 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-27 11:36:11,768 INFO L225 Difference]: With dead ends: 57 [2022-04-27 11:36:11,768 INFO L226 Difference]: Without dead ends: 45 [2022-04-27 11:36:11,768 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-04-27 11:36:11,768 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 43 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 95 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 50 SdHoareTripleChecker+Invalid, 103 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 95 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:11,769 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [43 Valid, 50 Invalid, 103 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 95 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:36:11,769 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-27 11:36:11,779 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 45. [2022-04-27 11:36:11,779 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:11,780 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-27 11:36:11,780 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-27 11:36:11,780 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-27 11:36:11,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:11,781 INFO L93 Difference]: Finished difference Result 45 states and 53 transitions. [2022-04-27 11:36:11,781 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 53 transitions. [2022-04-27 11:36:11,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:11,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:11,782 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-27 11:36:11,782 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-27 11:36:11,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:11,783 INFO L93 Difference]: Finished difference Result 45 states and 53 transitions. [2022-04-27 11:36:11,783 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 53 transitions. [2022-04-27 11:36:11,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:11,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:11,783 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:11,783 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:11,783 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-27 11:36:11,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 53 transitions. [2022-04-27 11:36:11,784 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 53 transitions. Word has length 34 [2022-04-27 11:36:11,785 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:11,785 INFO L495 AbstractCegarLoop]: Abstraction has 45 states and 53 transitions. [2022-04-27 11:36:11,785 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:11,785 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 53 transitions. [2022-04-27 11:36:11,785 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-27 11:36:11,785 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:11,785 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:11,785 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-04-27 11:36:11,786 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:11,786 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:11,786 INFO L85 PathProgramCache]: Analyzing trace with hash 1234948107, now seen corresponding path program 1 times [2022-04-27 11:36:11,786 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:11,786 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1004330557] [2022-04-27 11:36:11,786 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:11,786 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:11,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:11,830 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:11,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:11,834 INFO L290 TraceCheckUtils]: 0: Hoare triple {2054#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2029#true} is VALID [2022-04-27 11:36:11,834 INFO L290 TraceCheckUtils]: 1: Hoare triple {2029#true} assume true; {2029#true} is VALID [2022-04-27 11:36:11,834 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2029#true} {2029#true} #117#return; {2029#true} is VALID [2022-04-27 11:36:11,834 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:11,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:11,854 INFO L290 TraceCheckUtils]: 0: Hoare triple {2029#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2055#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:36:11,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {2055#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2056#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:36:11,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {2056#(<= 1 correct_version_~i~0)} assume !(~b~0 < ~n); {2056#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:36:11,855 INFO L290 TraceCheckUtils]: 3: Hoare triple {2056#(<= 1 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {2056#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:36:11,856 INFO L290 TraceCheckUtils]: 4: Hoare triple {2056#(<= 1 correct_version_~i~0)} assume !(~l~0 < ~m); {2056#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:36:11,856 INFO L290 TraceCheckUtils]: 5: Hoare triple {2056#(<= 1 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {2057#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:36:11,856 INFO L290 TraceCheckUtils]: 6: Hoare triple {2057#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {2030#false} is VALID [2022-04-27 11:36:11,856 INFO L290 TraceCheckUtils]: 7: Hoare triple {2030#false} #res := ~y~0; {2030#false} is VALID [2022-04-27 11:36:11,856 INFO L290 TraceCheckUtils]: 8: Hoare triple {2030#false} assume true; {2030#false} is VALID [2022-04-27 11:36:11,857 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2030#false} {2029#true} #111#return; {2030#false} is VALID [2022-04-27 11:36:11,857 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2022-04-27 11:36:11,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:11,862 INFO L290 TraceCheckUtils]: 0: Hoare triple {2029#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2029#true} is VALID [2022-04-27 11:36:11,862 INFO L290 TraceCheckUtils]: 1: Hoare triple {2029#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {2029#true} is VALID [2022-04-27 11:36:11,862 INFO L290 TraceCheckUtils]: 2: Hoare triple {2029#true} assume !(~b~1 < ~n); {2029#true} is VALID [2022-04-27 11:36:11,863 INFO L290 TraceCheckUtils]: 3: Hoare triple {2029#true} assume !(~l~1 < ~m); {2029#true} is VALID [2022-04-27 11:36:11,863 INFO L290 TraceCheckUtils]: 4: Hoare triple {2029#true} ~x~1 := 0;~y~1 := 0; {2029#true} is VALID [2022-04-27 11:36:11,863 INFO L290 TraceCheckUtils]: 5: Hoare triple {2029#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {2029#true} is VALID [2022-04-27 11:36:11,863 INFO L290 TraceCheckUtils]: 6: Hoare triple {2029#true} assume !(~x~1 < ~i~1); {2029#true} is VALID [2022-04-27 11:36:11,863 INFO L290 TraceCheckUtils]: 7: Hoare triple {2029#true} #res := ~y~1; {2029#true} is VALID [2022-04-27 11:36:11,863 INFO L290 TraceCheckUtils]: 8: Hoare triple {2029#true} assume true; {2029#true} is VALID [2022-04-27 11:36:11,863 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2029#true} {2030#false} #113#return; {2030#false} is VALID [2022-04-27 11:36:11,864 INFO L272 TraceCheckUtils]: 0: Hoare triple {2029#true} call ULTIMATE.init(); {2054#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:11,864 INFO L290 TraceCheckUtils]: 1: Hoare triple {2054#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2029#true} is VALID [2022-04-27 11:36:11,864 INFO L290 TraceCheckUtils]: 2: Hoare triple {2029#true} assume true; {2029#true} is VALID [2022-04-27 11:36:11,864 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2029#true} {2029#true} #117#return; {2029#true} is VALID [2022-04-27 11:36:11,864 INFO L272 TraceCheckUtils]: 4: Hoare triple {2029#true} call #t~ret10 := main(); {2029#true} is VALID [2022-04-27 11:36:11,864 INFO L290 TraceCheckUtils]: 5: Hoare triple {2029#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {2029#true} is VALID [2022-04-27 11:36:11,864 INFO L290 TraceCheckUtils]: 6: Hoare triple {2029#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {2029#true} is VALID [2022-04-27 11:36:11,864 INFO L272 TraceCheckUtils]: 7: Hoare triple {2029#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {2029#true} is VALID [2022-04-27 11:36:11,865 INFO L290 TraceCheckUtils]: 8: Hoare triple {2029#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2055#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:36:11,865 INFO L290 TraceCheckUtils]: 9: Hoare triple {2055#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2056#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:36:11,865 INFO L290 TraceCheckUtils]: 10: Hoare triple {2056#(<= 1 correct_version_~i~0)} assume !(~b~0 < ~n); {2056#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:36:11,866 INFO L290 TraceCheckUtils]: 11: Hoare triple {2056#(<= 1 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {2056#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:36:11,866 INFO L290 TraceCheckUtils]: 12: Hoare triple {2056#(<= 1 correct_version_~i~0)} assume !(~l~0 < ~m); {2056#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:36:11,866 INFO L290 TraceCheckUtils]: 13: Hoare triple {2056#(<= 1 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {2057#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:36:11,867 INFO L290 TraceCheckUtils]: 14: Hoare triple {2057#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {2030#false} is VALID [2022-04-27 11:36:11,867 INFO L290 TraceCheckUtils]: 15: Hoare triple {2030#false} #res := ~y~0; {2030#false} is VALID [2022-04-27 11:36:11,867 INFO L290 TraceCheckUtils]: 16: Hoare triple {2030#false} assume true; {2030#false} is VALID [2022-04-27 11:36:11,867 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2030#false} {2029#true} #111#return; {2030#false} is VALID [2022-04-27 11:36:11,867 INFO L290 TraceCheckUtils]: 18: Hoare triple {2030#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {2030#false} is VALID [2022-04-27 11:36:11,867 INFO L272 TraceCheckUtils]: 19: Hoare triple {2030#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {2029#true} is VALID [2022-04-27 11:36:11,867 INFO L290 TraceCheckUtils]: 20: Hoare triple {2029#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2029#true} is VALID [2022-04-27 11:36:11,867 INFO L290 TraceCheckUtils]: 21: Hoare triple {2029#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {2029#true} is VALID [2022-04-27 11:36:11,867 INFO L290 TraceCheckUtils]: 22: Hoare triple {2029#true} assume !(~b~1 < ~n); {2029#true} is VALID [2022-04-27 11:36:11,867 INFO L290 TraceCheckUtils]: 23: Hoare triple {2029#true} assume !(~l~1 < ~m); {2029#true} is VALID [2022-04-27 11:36:11,867 INFO L290 TraceCheckUtils]: 24: Hoare triple {2029#true} ~x~1 := 0;~y~1 := 0; {2029#true} is VALID [2022-04-27 11:36:11,867 INFO L290 TraceCheckUtils]: 25: Hoare triple {2029#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {2029#true} is VALID [2022-04-27 11:36:11,868 INFO L290 TraceCheckUtils]: 26: Hoare triple {2029#true} assume !(~x~1 < ~i~1); {2029#true} is VALID [2022-04-27 11:36:11,868 INFO L290 TraceCheckUtils]: 27: Hoare triple {2029#true} #res := ~y~1; {2029#true} is VALID [2022-04-27 11:36:11,868 INFO L290 TraceCheckUtils]: 28: Hoare triple {2029#true} assume true; {2029#true} is VALID [2022-04-27 11:36:11,868 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2029#true} {2030#false} #113#return; {2030#false} is VALID [2022-04-27 11:36:11,868 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {2030#false} is VALID [2022-04-27 11:36:11,868 INFO L272 TraceCheckUtils]: 31: Hoare triple {2030#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {2030#false} is VALID [2022-04-27 11:36:11,868 INFO L290 TraceCheckUtils]: 32: Hoare triple {2030#false} ~cond := #in~cond; {2030#false} is VALID [2022-04-27 11:36:11,868 INFO L290 TraceCheckUtils]: 33: Hoare triple {2030#false} assume 0 == ~cond; {2030#false} is VALID [2022-04-27 11:36:11,868 INFO L290 TraceCheckUtils]: 34: Hoare triple {2030#false} assume !false; {2030#false} is VALID [2022-04-27 11:36:11,868 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-27 11:36:11,868 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:11,869 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1004330557] [2022-04-27 11:36:11,869 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1004330557] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:36:11,869 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:36:11,869 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 11:36:11,869 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1535115967] [2022-04-27 11:36:11,869 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:36:11,869 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-27 11:36:11,869 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:11,870 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-27 11:36:11,889 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-27 11:36:11,889 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 11:36:11,889 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:11,890 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 11:36:11,890 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-04-27 11:36:11,890 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-27 11:36:12,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:12,040 INFO L93 Difference]: Finished difference Result 64 states and 73 transitions. [2022-04-27 11:36:12,040 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 11:36:12,040 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-27 11:36:12,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:12,041 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-27 11:36:12,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-04-27 11:36:12,042 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-27 11:36:12,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-04-27 11:36:12,043 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 61 transitions. [2022-04-27 11:36:12,084 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-27 11:36:12,085 INFO L225 Difference]: With dead ends: 64 [2022-04-27 11:36:12,085 INFO L226 Difference]: Without dead ends: 40 [2022-04-27 11:36:12,085 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=44, Unknown=0, NotChecked=0, Total=72 [2022-04-27 11:36:12,086 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 39 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 44 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:12,086 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 44 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 11:36:12,086 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-04-27 11:36:12,098 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 36. [2022-04-27 11:36:12,098 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:12,098 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-27 11:36:12,098 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-27 11:36:12,099 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-27 11:36:12,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:12,100 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2022-04-27 11:36:12,100 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2022-04-27 11:36:12,100 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:12,100 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:12,100 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-27 11:36:12,100 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-27 11:36:12,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:12,101 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2022-04-27 11:36:12,101 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2022-04-27 11:36:12,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:12,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:12,101 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:12,101 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:12,101 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-27 11:36:12,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 41 transitions. [2022-04-27 11:36:12,102 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 41 transitions. Word has length 35 [2022-04-27 11:36:12,102 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:12,102 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 41 transitions. [2022-04-27 11:36:12,102 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 5 states have internal predecessors, (27), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:12,102 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-27 11:36:12,103 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-27 11:36:12,103 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:12,103 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:12,103 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-04-27 11:36:12,103 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:12,103 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:12,103 INFO L85 PathProgramCache]: Analyzing trace with hash 2078941294, now seen corresponding path program 1 times [2022-04-27 11:36:12,104 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:12,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1550015472] [2022-04-27 11:36:12,104 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:12,104 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:12,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:12,133 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:12,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:12,139 INFO L290 TraceCheckUtils]: 0: Hoare triple {2315#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2289#true} is VALID [2022-04-27 11:36:12,139 INFO L290 TraceCheckUtils]: 1: Hoare triple {2289#true} assume true; {2289#true} is VALID [2022-04-27 11:36:12,139 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2289#true} {2289#true} #117#return; {2289#true} is VALID [2022-04-27 11:36:12,139 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:12,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:12,145 INFO L290 TraceCheckUtils]: 0: Hoare triple {2289#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2289#true} is VALID [2022-04-27 11:36:12,145 INFO L290 TraceCheckUtils]: 1: Hoare triple {2289#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2289#true} is VALID [2022-04-27 11:36:12,145 INFO L290 TraceCheckUtils]: 2: Hoare triple {2289#true} assume !(~b~0 < ~n); {2289#true} is VALID [2022-04-27 11:36:12,145 INFO L290 TraceCheckUtils]: 3: Hoare triple {2289#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {2289#true} is VALID [2022-04-27 11:36:12,146 INFO L290 TraceCheckUtils]: 4: Hoare triple {2289#true} assume !(~l~0 < ~m); {2289#true} is VALID [2022-04-27 11:36:12,146 INFO L290 TraceCheckUtils]: 5: Hoare triple {2289#true} ~x~0 := 0;~y~0 := 0; {2289#true} is VALID [2022-04-27 11:36:12,146 INFO L290 TraceCheckUtils]: 6: Hoare triple {2289#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {2289#true} is VALID [2022-04-27 11:36:12,146 INFO L290 TraceCheckUtils]: 7: Hoare triple {2289#true} assume !(~x~0 < ~i~0); {2289#true} is VALID [2022-04-27 11:36:12,146 INFO L290 TraceCheckUtils]: 8: Hoare triple {2289#true} #res := ~y~0; {2289#true} is VALID [2022-04-27 11:36:12,146 INFO L290 TraceCheckUtils]: 9: Hoare triple {2289#true} assume true; {2289#true} is VALID [2022-04-27 11:36:12,149 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2289#true} {2294#(<= 1 main_~m~0)} #111#return; {2294#(<= 1 main_~m~0)} is VALID [2022-04-27 11:36:12,149 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-27 11:36:12,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:12,173 INFO L290 TraceCheckUtils]: 0: Hoare triple {2289#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2316#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:36:12,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {2316#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {2317#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:36:12,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {2317#(<= 1 student_version_~i~1)} assume !(~b~1 < ~n); {2317#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:36:12,174 INFO L290 TraceCheckUtils]: 3: Hoare triple {2317#(<= 1 student_version_~i~1)} assume !(~l~1 < ~m); {2317#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:36:12,175 INFO L290 TraceCheckUtils]: 4: Hoare triple {2317#(<= 1 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {2318#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:36:12,175 INFO L290 TraceCheckUtils]: 5: Hoare triple {2318#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {2290#false} is VALID [2022-04-27 11:36:12,175 INFO L290 TraceCheckUtils]: 6: Hoare triple {2290#false} #res := ~y~1; {2290#false} is VALID [2022-04-27 11:36:12,175 INFO L290 TraceCheckUtils]: 7: Hoare triple {2290#false} assume true; {2290#false} is VALID [2022-04-27 11:36:12,175 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {2290#false} {2294#(<= 1 main_~m~0)} #113#return; {2290#false} is VALID [2022-04-27 11:36:12,176 INFO L272 TraceCheckUtils]: 0: Hoare triple {2289#true} call ULTIMATE.init(); {2315#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:12,176 INFO L290 TraceCheckUtils]: 1: Hoare triple {2315#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2289#true} is VALID [2022-04-27 11:36:12,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {2289#true} assume true; {2289#true} is VALID [2022-04-27 11:36:12,176 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2289#true} {2289#true} #117#return; {2289#true} is VALID [2022-04-27 11:36:12,176 INFO L272 TraceCheckUtils]: 4: Hoare triple {2289#true} call #t~ret10 := main(); {2289#true} is VALID [2022-04-27 11:36:12,176 INFO L290 TraceCheckUtils]: 5: Hoare triple {2289#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {2289#true} is VALID [2022-04-27 11:36:12,177 INFO L290 TraceCheckUtils]: 6: Hoare triple {2289#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {2294#(<= 1 main_~m~0)} is VALID [2022-04-27 11:36:12,177 INFO L272 TraceCheckUtils]: 7: Hoare triple {2294#(<= 1 main_~m~0)} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {2289#true} is VALID [2022-04-27 11:36:12,177 INFO L290 TraceCheckUtils]: 8: Hoare triple {2289#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2289#true} is VALID [2022-04-27 11:36:12,177 INFO L290 TraceCheckUtils]: 9: Hoare triple {2289#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2289#true} is VALID [2022-04-27 11:36:12,177 INFO L290 TraceCheckUtils]: 10: Hoare triple {2289#true} assume !(~b~0 < ~n); {2289#true} is VALID [2022-04-27 11:36:12,177 INFO L290 TraceCheckUtils]: 11: Hoare triple {2289#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {2289#true} is VALID [2022-04-27 11:36:12,177 INFO L290 TraceCheckUtils]: 12: Hoare triple {2289#true} assume !(~l~0 < ~m); {2289#true} is VALID [2022-04-27 11:36:12,177 INFO L290 TraceCheckUtils]: 13: Hoare triple {2289#true} ~x~0 := 0;~y~0 := 0; {2289#true} is VALID [2022-04-27 11:36:12,177 INFO L290 TraceCheckUtils]: 14: Hoare triple {2289#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {2289#true} is VALID [2022-04-27 11:36:12,177 INFO L290 TraceCheckUtils]: 15: Hoare triple {2289#true} assume !(~x~0 < ~i~0); {2289#true} is VALID [2022-04-27 11:36:12,177 INFO L290 TraceCheckUtils]: 16: Hoare triple {2289#true} #res := ~y~0; {2289#true} is VALID [2022-04-27 11:36:12,177 INFO L290 TraceCheckUtils]: 17: Hoare triple {2289#true} assume true; {2289#true} is VALID [2022-04-27 11:36:12,178 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2289#true} {2294#(<= 1 main_~m~0)} #111#return; {2294#(<= 1 main_~m~0)} is VALID [2022-04-27 11:36:12,178 INFO L290 TraceCheckUtils]: 19: Hoare triple {2294#(<= 1 main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {2294#(<= 1 main_~m~0)} is VALID [2022-04-27 11:36:12,180 INFO L272 TraceCheckUtils]: 20: Hoare triple {2294#(<= 1 main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {2289#true} is VALID [2022-04-27 11:36:12,180 INFO L290 TraceCheckUtils]: 21: Hoare triple {2289#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2316#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:36:12,180 INFO L290 TraceCheckUtils]: 22: Hoare triple {2316#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {2317#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:36:12,181 INFO L290 TraceCheckUtils]: 23: Hoare triple {2317#(<= 1 student_version_~i~1)} assume !(~b~1 < ~n); {2317#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:36:12,181 INFO L290 TraceCheckUtils]: 24: Hoare triple {2317#(<= 1 student_version_~i~1)} assume !(~l~1 < ~m); {2317#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:36:12,181 INFO L290 TraceCheckUtils]: 25: Hoare triple {2317#(<= 1 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {2318#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:36:12,182 INFO L290 TraceCheckUtils]: 26: Hoare triple {2318#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {2290#false} is VALID [2022-04-27 11:36:12,182 INFO L290 TraceCheckUtils]: 27: Hoare triple {2290#false} #res := ~y~1; {2290#false} is VALID [2022-04-27 11:36:12,182 INFO L290 TraceCheckUtils]: 28: Hoare triple {2290#false} assume true; {2290#false} is VALID [2022-04-27 11:36:12,182 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2290#false} {2294#(<= 1 main_~m~0)} #113#return; {2290#false} is VALID [2022-04-27 11:36:12,182 INFO L290 TraceCheckUtils]: 30: Hoare triple {2290#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {2290#false} is VALID [2022-04-27 11:36:12,182 INFO L272 TraceCheckUtils]: 31: Hoare triple {2290#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {2290#false} is VALID [2022-04-27 11:36:12,182 INFO L290 TraceCheckUtils]: 32: Hoare triple {2290#false} ~cond := #in~cond; {2290#false} is VALID [2022-04-27 11:36:12,182 INFO L290 TraceCheckUtils]: 33: Hoare triple {2290#false} assume 0 == ~cond; {2290#false} is VALID [2022-04-27 11:36:12,182 INFO L290 TraceCheckUtils]: 34: Hoare triple {2290#false} assume !false; {2290#false} is VALID [2022-04-27 11:36:12,182 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-27 11:36:12,182 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:12,183 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1550015472] [2022-04-27 11:36:12,183 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1550015472] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:36:12,183 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:36:12,183 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-27 11:36:12,183 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [988324100] [2022-04-27 11:36:12,183 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:36:12,183 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-27 11:36:12,183 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:12,184 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-27 11:36:12,202 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-27 11:36:12,202 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 11:36:12,203 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:12,203 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 11:36:12,203 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-04-27 11:36:12,203 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-27 11:36:12,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:12,430 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-04-27 11:36:12,430 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 11:36:12,430 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-27 11:36:12,430 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:12,431 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-27 11:36:12,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 48 transitions. [2022-04-27 11:36:12,432 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-27 11:36:12,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 48 transitions. [2022-04-27 11:36:12,433 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 48 transitions. [2022-04-27 11:36:12,467 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-27 11:36:12,467 INFO L225 Difference]: With dead ends: 46 [2022-04-27 11:36:12,467 INFO L226 Difference]: Without dead ends: 37 [2022-04-27 11:36:12,468 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2022-04-27 11:36:12,468 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 35 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 54 SdHoareTripleChecker+Invalid, 123 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:12,468 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 54 Invalid, 123 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:36:12,468 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-27 11:36:12,499 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2022-04-27 11:36:12,500 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:12,500 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-27 11:36:12,500 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-27 11:36:12,500 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-27 11:36:12,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:12,501 INFO L93 Difference]: Finished difference Result 37 states and 42 transitions. [2022-04-27 11:36:12,501 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2022-04-27 11:36:12,501 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:12,501 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:12,502 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-27 11:36:12,502 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-27 11:36:12,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:12,502 INFO L93 Difference]: Finished difference Result 37 states and 42 transitions. [2022-04-27 11:36:12,503 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2022-04-27 11:36:12,503 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:12,503 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:12,503 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:12,503 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:12,503 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-27 11:36:12,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 42 transitions. [2022-04-27 11:36:12,504 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 42 transitions. Word has length 35 [2022-04-27 11:36:12,504 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:12,504 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 42 transitions. [2022-04-27 11:36:12,504 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:12,504 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2022-04-27 11:36:12,505 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-27 11:36:12,505 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:12,505 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:12,505 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-04-27 11:36:12,505 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:12,505 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:12,505 INFO L85 PathProgramCache]: Analyzing trace with hash 1371807532, now seen corresponding path program 1 times [2022-04-27 11:36:12,505 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:12,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [89079775] [2022-04-27 11:36:12,505 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:12,506 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:12,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:12,550 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:12,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:12,558 INFO L290 TraceCheckUtils]: 0: Hoare triple {2551#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2524#true} is VALID [2022-04-27 11:36:12,559 INFO L290 TraceCheckUtils]: 1: Hoare triple {2524#true} assume true; {2524#true} is VALID [2022-04-27 11:36:12,559 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2524#true} {2524#true} #117#return; {2524#true} is VALID [2022-04-27 11:36:12,559 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:12,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:12,568 INFO L290 TraceCheckUtils]: 0: Hoare triple {2524#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2524#true} is VALID [2022-04-27 11:36:12,568 INFO L290 TraceCheckUtils]: 1: Hoare triple {2524#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2524#true} is VALID [2022-04-27 11:36:12,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {2524#true} assume !(~b~0 < ~n); {2524#true} is VALID [2022-04-27 11:36:12,568 INFO L290 TraceCheckUtils]: 3: Hoare triple {2524#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {2524#true} is VALID [2022-04-27 11:36:12,568 INFO L290 TraceCheckUtils]: 4: Hoare triple {2524#true} assume !(~l~0 < ~m); {2524#true} is VALID [2022-04-27 11:36:12,568 INFO L290 TraceCheckUtils]: 5: Hoare triple {2524#true} ~x~0 := 0;~y~0 := 0; {2524#true} is VALID [2022-04-27 11:36:12,568 INFO L290 TraceCheckUtils]: 6: Hoare triple {2524#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {2524#true} is VALID [2022-04-27 11:36:12,568 INFO L290 TraceCheckUtils]: 7: Hoare triple {2524#true} assume !(~x~0 < ~i~0); {2524#true} is VALID [2022-04-27 11:36:12,568 INFO L290 TraceCheckUtils]: 8: Hoare triple {2524#true} #res := ~y~0; {2524#true} is VALID [2022-04-27 11:36:12,568 INFO L290 TraceCheckUtils]: 9: Hoare triple {2524#true} assume true; {2524#true} is VALID [2022-04-27 11:36:12,569 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2524#true} {2529#(<= 1 main_~m~0)} #111#return; {2529#(<= 1 main_~m~0)} is VALID [2022-04-27 11:36:12,569 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-27 11:36:12,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:12,593 INFO L290 TraceCheckUtils]: 0: Hoare triple {2524#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2552#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:12,593 INFO L290 TraceCheckUtils]: 1: Hoare triple {2552#(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; {2552#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:12,594 INFO L290 TraceCheckUtils]: 2: Hoare triple {2552#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {2552#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:12,594 INFO L290 TraceCheckUtils]: 3: Hoare triple {2552#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~l~1 < ~m); {2553#(<= |student_version_#in~m| 0)} is VALID [2022-04-27 11:36:12,594 INFO L290 TraceCheckUtils]: 4: Hoare triple {2553#(<= |student_version_#in~m| 0)} ~x~1 := 0;~y~1 := 0; {2553#(<= |student_version_#in~m| 0)} is VALID [2022-04-27 11:36:12,595 INFO L290 TraceCheckUtils]: 5: Hoare triple {2553#(<= |student_version_#in~m| 0)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {2553#(<= |student_version_#in~m| 0)} is VALID [2022-04-27 11:36:12,595 INFO L290 TraceCheckUtils]: 6: Hoare triple {2553#(<= |student_version_#in~m| 0)} assume !(~x~1 < ~i~1); {2553#(<= |student_version_#in~m| 0)} is VALID [2022-04-27 11:36:12,595 INFO L290 TraceCheckUtils]: 7: Hoare triple {2553#(<= |student_version_#in~m| 0)} #res := ~y~1; {2553#(<= |student_version_#in~m| 0)} is VALID [2022-04-27 11:36:12,595 INFO L290 TraceCheckUtils]: 8: Hoare triple {2553#(<= |student_version_#in~m| 0)} assume true; {2553#(<= |student_version_#in~m| 0)} is VALID [2022-04-27 11:36:12,596 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2553#(<= |student_version_#in~m| 0)} {2529#(<= 1 main_~m~0)} #113#return; {2525#false} is VALID [2022-04-27 11:36:12,597 INFO L272 TraceCheckUtils]: 0: Hoare triple {2524#true} call ULTIMATE.init(); {2551#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:12,597 INFO L290 TraceCheckUtils]: 1: Hoare triple {2551#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2524#true} is VALID [2022-04-27 11:36:12,597 INFO L290 TraceCheckUtils]: 2: Hoare triple {2524#true} assume true; {2524#true} is VALID [2022-04-27 11:36:12,597 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2524#true} {2524#true} #117#return; {2524#true} is VALID [2022-04-27 11:36:12,597 INFO L272 TraceCheckUtils]: 4: Hoare triple {2524#true} call #t~ret10 := main(); {2524#true} is VALID [2022-04-27 11:36:12,597 INFO L290 TraceCheckUtils]: 5: Hoare triple {2524#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {2524#true} is VALID [2022-04-27 11:36:12,597 INFO L290 TraceCheckUtils]: 6: Hoare triple {2524#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {2529#(<= 1 main_~m~0)} is VALID [2022-04-27 11:36:12,597 INFO L272 TraceCheckUtils]: 7: Hoare triple {2529#(<= 1 main_~m~0)} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {2524#true} is VALID [2022-04-27 11:36:12,597 INFO L290 TraceCheckUtils]: 8: Hoare triple {2524#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2524#true} is VALID [2022-04-27 11:36:12,598 INFO L290 TraceCheckUtils]: 9: Hoare triple {2524#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2524#true} is VALID [2022-04-27 11:36:12,598 INFO L290 TraceCheckUtils]: 10: Hoare triple {2524#true} assume !(~b~0 < ~n); {2524#true} is VALID [2022-04-27 11:36:12,598 INFO L290 TraceCheckUtils]: 11: Hoare triple {2524#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {2524#true} is VALID [2022-04-27 11:36:12,598 INFO L290 TraceCheckUtils]: 12: Hoare triple {2524#true} assume !(~l~0 < ~m); {2524#true} is VALID [2022-04-27 11:36:12,598 INFO L290 TraceCheckUtils]: 13: Hoare triple {2524#true} ~x~0 := 0;~y~0 := 0; {2524#true} is VALID [2022-04-27 11:36:12,598 INFO L290 TraceCheckUtils]: 14: Hoare triple {2524#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {2524#true} is VALID [2022-04-27 11:36:12,598 INFO L290 TraceCheckUtils]: 15: Hoare triple {2524#true} assume !(~x~0 < ~i~0); {2524#true} is VALID [2022-04-27 11:36:12,598 INFO L290 TraceCheckUtils]: 16: Hoare triple {2524#true} #res := ~y~0; {2524#true} is VALID [2022-04-27 11:36:12,598 INFO L290 TraceCheckUtils]: 17: Hoare triple {2524#true} assume true; {2524#true} is VALID [2022-04-27 11:36:12,599 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2524#true} {2529#(<= 1 main_~m~0)} #111#return; {2529#(<= 1 main_~m~0)} is VALID [2022-04-27 11:36:12,599 INFO L290 TraceCheckUtils]: 19: Hoare triple {2529#(<= 1 main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {2529#(<= 1 main_~m~0)} is VALID [2022-04-27 11:36:12,599 INFO L272 TraceCheckUtils]: 20: Hoare triple {2529#(<= 1 main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {2524#true} is VALID [2022-04-27 11:36:12,600 INFO L290 TraceCheckUtils]: 21: Hoare triple {2524#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2552#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:12,600 INFO L290 TraceCheckUtils]: 22: Hoare triple {2552#(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; {2552#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:12,600 INFO L290 TraceCheckUtils]: 23: Hoare triple {2552#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {2552#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:12,601 INFO L290 TraceCheckUtils]: 24: Hoare triple {2552#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~l~1 < ~m); {2553#(<= |student_version_#in~m| 0)} is VALID [2022-04-27 11:36:12,601 INFO L290 TraceCheckUtils]: 25: Hoare triple {2553#(<= |student_version_#in~m| 0)} ~x~1 := 0;~y~1 := 0; {2553#(<= |student_version_#in~m| 0)} is VALID [2022-04-27 11:36:12,601 INFO L290 TraceCheckUtils]: 26: Hoare triple {2553#(<= |student_version_#in~m| 0)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {2553#(<= |student_version_#in~m| 0)} is VALID [2022-04-27 11:36:12,601 INFO L290 TraceCheckUtils]: 27: Hoare triple {2553#(<= |student_version_#in~m| 0)} assume !(~x~1 < ~i~1); {2553#(<= |student_version_#in~m| 0)} is VALID [2022-04-27 11:36:12,602 INFO L290 TraceCheckUtils]: 28: Hoare triple {2553#(<= |student_version_#in~m| 0)} #res := ~y~1; {2553#(<= |student_version_#in~m| 0)} is VALID [2022-04-27 11:36:12,602 INFO L290 TraceCheckUtils]: 29: Hoare triple {2553#(<= |student_version_#in~m| 0)} assume true; {2553#(<= |student_version_#in~m| 0)} is VALID [2022-04-27 11:36:12,603 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2553#(<= |student_version_#in~m| 0)} {2529#(<= 1 main_~m~0)} #113#return; {2525#false} is VALID [2022-04-27 11:36:12,603 INFO L290 TraceCheckUtils]: 31: Hoare triple {2525#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {2525#false} is VALID [2022-04-27 11:36:12,603 INFO L272 TraceCheckUtils]: 32: Hoare triple {2525#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {2525#false} is VALID [2022-04-27 11:36:12,603 INFO L290 TraceCheckUtils]: 33: Hoare triple {2525#false} ~cond := #in~cond; {2525#false} is VALID [2022-04-27 11:36:12,603 INFO L290 TraceCheckUtils]: 34: Hoare triple {2525#false} assume 0 == ~cond; {2525#false} is VALID [2022-04-27 11:36:12,608 INFO L290 TraceCheckUtils]: 35: Hoare triple {2525#false} assume !false; {2525#false} is VALID [2022-04-27 11:36:12,608 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-27 11:36:12,608 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:12,608 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [89079775] [2022-04-27 11:36:12,609 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [89079775] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 11:36:12,609 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 11:36:12,609 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 11:36:12,609 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [829739758] [2022-04-27 11:36:12,609 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 11:36:12,610 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-27 11:36:12,610 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:12,610 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-27 11:36:12,631 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-27 11:36:12,631 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 11:36:12,631 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:12,631 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 11:36:12,631 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 11:36:12,632 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-27 11:36:12,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:12,864 INFO L93 Difference]: Finished difference Result 50 states and 56 transitions. [2022-04-27 11:36:12,864 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 11:36:12,869 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-27 11:36:12,870 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:12,870 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-27 11:36:12,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2022-04-27 11:36:12,876 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-27 11:36:12,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2022-04-27 11:36:12,878 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 50 transitions. [2022-04-27 11:36:12,914 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-27 11:36:12,915 INFO L225 Difference]: With dead ends: 50 [2022-04-27 11:36:12,915 INFO L226 Difference]: Without dead ends: 38 [2022-04-27 11:36:12,915 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-04-27 11:36:12,916 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 40 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 50 SdHoareTripleChecker+Invalid, 101 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:12,917 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [40 Valid, 50 Invalid, 101 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:36:12,917 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-27 11:36:12,931 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-27 11:36:12,931 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:12,932 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-27 11:36:12,932 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-27 11:36:12,932 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-27 11:36:12,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:12,933 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-27 11:36:12,933 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-04-27 11:36:12,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:12,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:12,933 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-27 11:36:12,934 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-27 11:36:12,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:12,935 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-27 11:36:12,935 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-04-27 11:36:12,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:12,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:12,935 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:12,936 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:12,937 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-27 11:36:12,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 43 transitions. [2022-04-27 11:36:12,937 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 43 transitions. Word has length 36 [2022-04-27 11:36:12,937 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:12,937 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 43 transitions. [2022-04-27 11:36:12,938 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:12,938 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-04-27 11:36:12,938 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-27 11:36:12,938 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:12,938 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:12,938 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-04-27 11:36:12,938 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:12,939 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:12,939 INFO L85 PathProgramCache]: Analyzing trace with hash -1443111891, now seen corresponding path program 1 times [2022-04-27 11:36:12,939 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:12,939 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1563048110] [2022-04-27 11:36:12,939 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:12,939 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:12,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:13,057 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:13,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:13,062 INFO L290 TraceCheckUtils]: 0: Hoare triple {2799#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2766#true} is VALID [2022-04-27 11:36:13,062 INFO L290 TraceCheckUtils]: 1: Hoare triple {2766#true} assume true; {2766#true} is VALID [2022-04-27 11:36:13,062 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2766#true} {2766#true} #117#return; {2766#true} is VALID [2022-04-27 11:36:13,062 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:13,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:13,134 INFO L290 TraceCheckUtils]: 0: Hoare triple {2766#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:13,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:13,135 INFO L290 TraceCheckUtils]: 2: Hoare triple {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:13,136 INFO L290 TraceCheckUtils]: 3: Hoare triple {2800#(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; {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:13,136 INFO L290 TraceCheckUtils]: 4: Hoare triple {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:13,136 INFO L290 TraceCheckUtils]: 5: Hoare triple {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {2802#(and (<= 1 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 1))} is VALID [2022-04-27 11:36:13,137 INFO L290 TraceCheckUtils]: 6: Hoare triple {2802#(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; {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-27 11:36:13,137 INFO L290 TraceCheckUtils]: 7: Hoare triple {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} assume !(~x~0 < ~i~0); {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-27 11:36:13,146 INFO L290 TraceCheckUtils]: 8: Hoare triple {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} #res := ~y~0; {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-27 11:36:13,147 INFO L290 TraceCheckUtils]: 9: Hoare triple {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} assume true; {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-27 11:36:13,148 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} {2766#true} #111#return; {2782#(and (<= |main_#t~ret8| 1) (<= 1 |main_#t~ret8|))} is VALID [2022-04-27 11:36:13,148 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-27 11:36:13,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:13,247 INFO L290 TraceCheckUtils]: 0: Hoare triple {2766#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:13,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:13,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:13,248 INFO L290 TraceCheckUtils]: 3: Hoare triple {2805#(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; {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:13,249 INFO L290 TraceCheckUtils]: 4: Hoare triple {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:13,249 INFO L290 TraceCheckUtils]: 5: Hoare triple {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {2807#(and (<= 1 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 1))} is VALID [2022-04-27 11:36:13,249 INFO L290 TraceCheckUtils]: 6: Hoare triple {2807#(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; {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-27 11:36:13,251 INFO L290 TraceCheckUtils]: 7: Hoare triple {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} assume !(~x~1 < ~i~1); {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-27 11:36:13,251 INFO L290 TraceCheckUtils]: 8: Hoare triple {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} #res := ~y~1; {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-27 11:36:13,251 INFO L290 TraceCheckUtils]: 9: Hoare triple {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} assume true; {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-27 11:36:13,252 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} {2783#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} #113#return; {2795#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:36:13,252 INFO L272 TraceCheckUtils]: 0: Hoare triple {2766#true} call ULTIMATE.init(); {2799#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:13,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {2799#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2766#true} is VALID [2022-04-27 11:36:13,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {2766#true} assume true; {2766#true} is VALID [2022-04-27 11:36:13,253 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2766#true} {2766#true} #117#return; {2766#true} is VALID [2022-04-27 11:36:13,253 INFO L272 TraceCheckUtils]: 4: Hoare triple {2766#true} call #t~ret10 := main(); {2766#true} is VALID [2022-04-27 11:36:13,253 INFO L290 TraceCheckUtils]: 5: Hoare triple {2766#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {2766#true} is VALID [2022-04-27 11:36:13,253 INFO L290 TraceCheckUtils]: 6: Hoare triple {2766#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {2766#true} is VALID [2022-04-27 11:36:13,253 INFO L272 TraceCheckUtils]: 7: Hoare triple {2766#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {2766#true} is VALID [2022-04-27 11:36:13,253 INFO L290 TraceCheckUtils]: 8: Hoare triple {2766#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:13,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:13,254 INFO L290 TraceCheckUtils]: 10: Hoare triple {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:13,254 INFO L290 TraceCheckUtils]: 11: Hoare triple {2800#(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; {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:13,255 INFO L290 TraceCheckUtils]: 12: Hoare triple {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:13,255 INFO L290 TraceCheckUtils]: 13: Hoare triple {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {2802#(and (<= 1 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 1))} is VALID [2022-04-27 11:36:13,255 INFO L290 TraceCheckUtils]: 14: Hoare triple {2802#(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; {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-27 11:36:13,256 INFO L290 TraceCheckUtils]: 15: Hoare triple {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} assume !(~x~0 < ~i~0); {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-27 11:36:13,256 INFO L290 TraceCheckUtils]: 16: Hoare triple {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} #res := ~y~0; {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-27 11:36:13,256 INFO L290 TraceCheckUtils]: 17: Hoare triple {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} assume true; {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-27 11:36:13,257 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} {2766#true} #111#return; {2782#(and (<= |main_#t~ret8| 1) (<= 1 |main_#t~ret8|))} is VALID [2022-04-27 11:36:13,257 INFO L290 TraceCheckUtils]: 19: Hoare triple {2782#(and (<= |main_#t~ret8| 1) (<= 1 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {2783#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} is VALID [2022-04-27 11:36:13,257 INFO L272 TraceCheckUtils]: 20: Hoare triple {2783#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {2766#true} is VALID [2022-04-27 11:36:13,257 INFO L290 TraceCheckUtils]: 21: Hoare triple {2766#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:13,258 INFO L290 TraceCheckUtils]: 22: Hoare triple {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:13,258 INFO L290 TraceCheckUtils]: 23: Hoare triple {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:13,258 INFO L290 TraceCheckUtils]: 24: Hoare triple {2805#(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; {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:13,259 INFO L290 TraceCheckUtils]: 25: Hoare triple {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:13,259 INFO L290 TraceCheckUtils]: 26: Hoare triple {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {2807#(and (<= 1 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 1))} is VALID [2022-04-27 11:36:13,259 INFO L290 TraceCheckUtils]: 27: Hoare triple {2807#(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; {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-27 11:36:13,260 INFO L290 TraceCheckUtils]: 28: Hoare triple {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} assume !(~x~1 < ~i~1); {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-27 11:36:13,260 INFO L290 TraceCheckUtils]: 29: Hoare triple {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} #res := ~y~1; {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-27 11:36:13,260 INFO L290 TraceCheckUtils]: 30: Hoare triple {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} assume true; {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-27 11:36:13,261 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} {2783#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} #113#return; {2795#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:36:13,261 INFO L290 TraceCheckUtils]: 32: Hoare triple {2795#(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; {2796#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:36:13,262 INFO L272 TraceCheckUtils]: 33: Hoare triple {2796#(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)); {2797#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:36:13,262 INFO L290 TraceCheckUtils]: 34: Hoare triple {2797#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2798#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:36:13,262 INFO L290 TraceCheckUtils]: 35: Hoare triple {2798#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2767#false} is VALID [2022-04-27 11:36:13,263 INFO L290 TraceCheckUtils]: 36: Hoare triple {2767#false} assume !false; {2767#false} is VALID [2022-04-27 11:36:13,263 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-27 11:36:13,263 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:13,263 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1563048110] [2022-04-27 11:36:13,263 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1563048110] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:13,263 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [802762374] [2022-04-27 11:36:13,263 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:13,263 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:13,263 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:13,280 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-27 11:36:13,305 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-27 11:36:13,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:13,356 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-27 11:36:13,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:13,377 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:13,848 INFO L272 TraceCheckUtils]: 0: Hoare triple {2766#true} call ULTIMATE.init(); {2766#true} is VALID [2022-04-27 11:36:13,848 INFO L290 TraceCheckUtils]: 1: Hoare triple {2766#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2766#true} is VALID [2022-04-27 11:36:13,849 INFO L290 TraceCheckUtils]: 2: Hoare triple {2766#true} assume true; {2766#true} is VALID [2022-04-27 11:36:13,849 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2766#true} {2766#true} #117#return; {2766#true} is VALID [2022-04-27 11:36:13,849 INFO L272 TraceCheckUtils]: 4: Hoare triple {2766#true} call #t~ret10 := main(); {2766#true} is VALID [2022-04-27 11:36:13,849 INFO L290 TraceCheckUtils]: 5: Hoare triple {2766#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {2766#true} is VALID [2022-04-27 11:36:13,849 INFO L290 TraceCheckUtils]: 6: Hoare triple {2766#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {2766#true} is VALID [2022-04-27 11:36:13,849 INFO L272 TraceCheckUtils]: 7: Hoare triple {2766#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {2766#true} is VALID [2022-04-27 11:36:13,850 INFO L290 TraceCheckUtils]: 8: Hoare triple {2766#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:13,850 INFO L290 TraceCheckUtils]: 9: Hoare triple {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:13,850 INFO L290 TraceCheckUtils]: 10: Hoare triple {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:13,851 INFO L290 TraceCheckUtils]: 11: Hoare triple {2800#(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; {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:13,852 INFO L290 TraceCheckUtils]: 12: Hoare triple {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:13,852 INFO L290 TraceCheckUtils]: 13: Hoare triple {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {2852#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:13,852 INFO L290 TraceCheckUtils]: 14: Hoare triple {2852#(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; {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-27 11:36:13,853 INFO L290 TraceCheckUtils]: 15: Hoare triple {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} assume !(~x~0 < ~i~0); {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-27 11:36:13,853 INFO L290 TraceCheckUtils]: 16: Hoare triple {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} #res := ~y~0; {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-27 11:36:13,853 INFO L290 TraceCheckUtils]: 17: Hoare triple {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} assume true; {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-27 11:36:13,854 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} {2766#true} #111#return; {2782#(and (<= |main_#t~ret8| 1) (<= 1 |main_#t~ret8|))} is VALID [2022-04-27 11:36:13,854 INFO L290 TraceCheckUtils]: 19: Hoare triple {2782#(and (<= |main_#t~ret8| 1) (<= 1 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {2783#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} is VALID [2022-04-27 11:36:13,854 INFO L272 TraceCheckUtils]: 20: Hoare triple {2783#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {2766#true} is VALID [2022-04-27 11:36:13,855 INFO L290 TraceCheckUtils]: 21: Hoare triple {2766#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:13,855 INFO L290 TraceCheckUtils]: 22: Hoare triple {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:13,855 INFO L290 TraceCheckUtils]: 23: Hoare triple {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:13,856 INFO L290 TraceCheckUtils]: 24: Hoare triple {2805#(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; {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:13,856 INFO L290 TraceCheckUtils]: 25: Hoare triple {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:13,856 INFO L290 TraceCheckUtils]: 26: Hoare triple {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {2892#(and (= student_version_~y~1 0) (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:13,857 INFO L290 TraceCheckUtils]: 27: Hoare triple {2892#(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; {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-27 11:36:13,857 INFO L290 TraceCheckUtils]: 28: Hoare triple {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} assume !(~x~1 < ~i~1); {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-27 11:36:13,857 INFO L290 TraceCheckUtils]: 29: Hoare triple {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} #res := ~y~1; {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-27 11:36:13,858 INFO L290 TraceCheckUtils]: 30: Hoare triple {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} assume true; {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-27 11:36:13,858 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} {2783#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} #113#return; {2908#(and (<= |main_#t~ret9| 1) (<= 1 |main_#t~ret9|) (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} is VALID [2022-04-27 11:36:13,859 INFO L290 TraceCheckUtils]: 32: Hoare triple {2908#(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; {2912#(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-27 11:36:13,859 INFO L272 TraceCheckUtils]: 33: Hoare triple {2912#(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)); {2916#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:36:13,859 INFO L290 TraceCheckUtils]: 34: Hoare triple {2916#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2920#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:36:13,860 INFO L290 TraceCheckUtils]: 35: Hoare triple {2920#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2767#false} is VALID [2022-04-27 11:36:13,860 INFO L290 TraceCheckUtils]: 36: Hoare triple {2767#false} assume !false; {2767#false} is VALID [2022-04-27 11:36:13,860 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-27 11:36:13,860 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:14,217 INFO L290 TraceCheckUtils]: 36: Hoare triple {2767#false} assume !false; {2767#false} is VALID [2022-04-27 11:36:14,217 INFO L290 TraceCheckUtils]: 35: Hoare triple {2920#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2767#false} is VALID [2022-04-27 11:36:14,218 INFO L290 TraceCheckUtils]: 34: Hoare triple {2916#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2920#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:36:14,218 INFO L272 TraceCheckUtils]: 33: Hoare triple {2796#(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)); {2916#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:36:14,219 INFO L290 TraceCheckUtils]: 32: Hoare triple {2795#(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; {2796#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:36:14,219 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} {2783#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} #113#return; {2795#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:36:14,220 INFO L290 TraceCheckUtils]: 30: Hoare triple {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} assume true; {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-27 11:36:14,220 INFO L290 TraceCheckUtils]: 29: Hoare triple {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} #res := ~y~1; {2809#(and (<= |student_version_#res| 1) (<= 1 |student_version_#res|))} is VALID [2022-04-27 11:36:14,220 INFO L290 TraceCheckUtils]: 28: Hoare triple {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} assume !(~x~1 < ~i~1); {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-27 11:36:14,221 INFO L290 TraceCheckUtils]: 27: Hoare triple {2807#(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; {2808#(and (<= 1 student_version_~y~1) (<= student_version_~y~1 1))} is VALID [2022-04-27 11:36:14,221 INFO L290 TraceCheckUtils]: 26: Hoare triple {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {2807#(and (<= 1 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 1))} is VALID [2022-04-27 11:36:14,221 INFO L290 TraceCheckUtils]: 25: Hoare triple {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:14,222 INFO L290 TraceCheckUtils]: 24: Hoare triple {2805#(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; {2806#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:14,222 INFO L290 TraceCheckUtils]: 23: Hoare triple {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:14,222 INFO L290 TraceCheckUtils]: 22: Hoare triple {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:14,224 INFO L290 TraceCheckUtils]: 21: Hoare triple {2766#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {2805#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:14,224 INFO L272 TraceCheckUtils]: 20: Hoare triple {2783#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {2766#true} is VALID [2022-04-27 11:36:14,224 INFO L290 TraceCheckUtils]: 19: Hoare triple {2782#(and (<= |main_#t~ret8| 1) (<= 1 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {2783#(and (<= main_~n_stones1~0 1) (<= 1 main_~n_stones1~0))} is VALID [2022-04-27 11:36:14,225 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} {2766#true} #111#return; {2782#(and (<= |main_#t~ret8| 1) (<= 1 |main_#t~ret8|))} is VALID [2022-04-27 11:36:14,226 INFO L290 TraceCheckUtils]: 17: Hoare triple {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} assume true; {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-27 11:36:14,226 INFO L290 TraceCheckUtils]: 16: Hoare triple {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} #res := ~y~0; {2804#(and (<= 1 |correct_version_#res|) (<= |correct_version_#res| 1))} is VALID [2022-04-27 11:36:14,226 INFO L290 TraceCheckUtils]: 15: Hoare triple {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} assume !(~x~0 < ~i~0); {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-27 11:36:14,227 INFO L290 TraceCheckUtils]: 14: Hoare triple {2802#(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; {2803#(and (<= 1 correct_version_~y~0) (<= correct_version_~y~0 1))} is VALID [2022-04-27 11:36:14,227 INFO L290 TraceCheckUtils]: 13: Hoare triple {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {2802#(and (<= 1 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 1))} is VALID [2022-04-27 11:36:14,227 INFO L290 TraceCheckUtils]: 12: Hoare triple {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:14,228 INFO L290 TraceCheckUtils]: 11: Hoare triple {2800#(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; {2801#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:14,229 INFO L290 TraceCheckUtils]: 10: Hoare triple {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:14,230 INFO L290 TraceCheckUtils]: 9: Hoare triple {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:14,230 INFO L290 TraceCheckUtils]: 8: Hoare triple {2766#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {2800#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:14,230 INFO L272 TraceCheckUtils]: 7: Hoare triple {2766#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {2766#true} is VALID [2022-04-27 11:36:14,230 INFO L290 TraceCheckUtils]: 6: Hoare triple {2766#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {2766#true} is VALID [2022-04-27 11:36:14,231 INFO L290 TraceCheckUtils]: 5: Hoare triple {2766#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {2766#true} is VALID [2022-04-27 11:36:14,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {2766#true} call #t~ret10 := main(); {2766#true} is VALID [2022-04-27 11:36:14,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2766#true} {2766#true} #117#return; {2766#true} is VALID [2022-04-27 11:36:14,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {2766#true} assume true; {2766#true} is VALID [2022-04-27 11:36:14,231 INFO L290 TraceCheckUtils]: 1: Hoare triple {2766#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {2766#true} is VALID [2022-04-27 11:36:14,231 INFO L272 TraceCheckUtils]: 0: Hoare triple {2766#true} call ULTIMATE.init(); {2766#true} is VALID [2022-04-27 11:36:14,231 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-27 11:36:14,231 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [802762374] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:14,231 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:14,231 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 18, 18] total 25 [2022-04-27 11:36:14,232 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [311454425] [2022-04-27 11:36:14,232 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:14,233 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 19 states have internal predecessors, (37), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 37 [2022-04-27 11:36:14,233 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:14,233 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 19 states have internal predecessors, (37), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:14,258 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-27 11:36:14,258 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-27 11:36:14,258 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:14,259 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-27 11:36:14,259 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=543, Unknown=0, NotChecked=0, Total=600 [2022-04-27 11:36:14,259 INFO L87 Difference]: Start difference. First operand 38 states and 43 transitions. Second operand has 25 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 19 states have internal predecessors, (37), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:15,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:15,383 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-27 11:36:15,383 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-27 11:36:15,383 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 19 states have internal predecessors, (37), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 37 [2022-04-27 11:36:15,383 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:15,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 19 states have internal predecessors, (37), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:15,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 79 transitions. [2022-04-27 11:36:15,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 19 states have internal predecessors, (37), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:15,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 79 transitions. [2022-04-27 11:36:15,386 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 79 transitions. [2022-04-27 11:36:15,436 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-27 11:36:15,437 INFO L225 Difference]: With dead ends: 70 [2022-04-27 11:36:15,437 INFO L226 Difference]: Without dead ends: 64 [2022-04-27 11:36:15,437 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 68 SyntacticMatches, 5 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 245 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=157, Invalid=1565, Unknown=0, NotChecked=0, Total=1722 [2022-04-27 11:36:15,438 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 68 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 630 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 665 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 630 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:15,438 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [71 Valid, 113 Invalid, 665 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 630 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-27 11:36:15,438 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-27 11:36:15,468 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 54. [2022-04-27 11:36:15,468 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:15,468 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-27 11:36:15,469 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-27 11:36:15,469 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-27 11:36:15,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:15,470 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-04-27 11:36:15,470 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-27 11:36:15,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:15,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:15,470 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-27 11:36:15,471 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-27 11:36:15,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:15,472 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-04-27 11:36:15,472 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-27 11:36:15,472 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:15,472 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:15,472 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:15,472 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:15,472 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-27 11:36:15,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 64 transitions. [2022-04-27 11:36:15,473 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 64 transitions. Word has length 37 [2022-04-27 11:36:15,473 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:15,473 INFO L495 AbstractCegarLoop]: Abstraction has 54 states and 64 transitions. [2022-04-27 11:36:15,473 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 19 states have internal predecessors, (37), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:15,474 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 64 transitions. [2022-04-27 11:36:15,474 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-27 11:36:15,474 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:15,474 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:15,501 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-27 11:36:15,687 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-27 11:36:15,688 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:15,688 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:15,689 INFO L85 PathProgramCache]: Analyzing trace with hash -437658803, now seen corresponding path program 2 times [2022-04-27 11:36:15,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:15,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [58792184] [2022-04-27 11:36:15,689 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:15,689 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:15,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:15,734 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:15,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:15,742 INFO L290 TraceCheckUtils]: 0: Hoare triple {3403#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {3375#true} is VALID [2022-04-27 11:36:15,743 INFO L290 TraceCheckUtils]: 1: Hoare triple {3375#true} assume true; {3375#true} is VALID [2022-04-27 11:36:15,743 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3375#true} {3375#true} #117#return; {3375#true} is VALID [2022-04-27 11:36:15,743 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:15,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:15,747 INFO L290 TraceCheckUtils]: 0: Hoare triple {3375#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {3375#true} is VALID [2022-04-27 11:36:15,748 INFO L290 TraceCheckUtils]: 1: Hoare triple {3375#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {3375#true} is VALID [2022-04-27 11:36:15,748 INFO L290 TraceCheckUtils]: 2: Hoare triple {3375#true} assume !(~b~0 < ~n); {3375#true} is VALID [2022-04-27 11:36:15,748 INFO L290 TraceCheckUtils]: 3: Hoare triple {3375#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {3375#true} is VALID [2022-04-27 11:36:15,748 INFO L290 TraceCheckUtils]: 4: Hoare triple {3375#true} assume !(~l~0 < ~m); {3375#true} is VALID [2022-04-27 11:36:15,748 INFO L290 TraceCheckUtils]: 5: Hoare triple {3375#true} ~x~0 := 0;~y~0 := 0; {3375#true} is VALID [2022-04-27 11:36:15,748 INFO L290 TraceCheckUtils]: 6: Hoare triple {3375#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {3375#true} is VALID [2022-04-27 11:36:15,748 INFO L290 TraceCheckUtils]: 7: Hoare triple {3375#true} assume !(~x~0 < ~i~0); {3375#true} is VALID [2022-04-27 11:36:15,748 INFO L290 TraceCheckUtils]: 8: Hoare triple {3375#true} #res := ~y~0; {3375#true} is VALID [2022-04-27 11:36:15,748 INFO L290 TraceCheckUtils]: 9: Hoare triple {3375#true} assume true; {3375#true} is VALID [2022-04-27 11:36:15,748 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3375#true} {3375#true} #111#return; {3375#true} is VALID [2022-04-27 11:36:15,748 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-27 11:36:15,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:15,773 INFO L290 TraceCheckUtils]: 0: Hoare triple {3375#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {3404#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:36:15,774 INFO L290 TraceCheckUtils]: 1: Hoare triple {3404#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:15,774 INFO L290 TraceCheckUtils]: 2: Hoare triple {3405#(<= student_version_~i~1 1)} assume !(~b~1 < ~n); {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:15,774 INFO L290 TraceCheckUtils]: 3: Hoare triple {3405#(<= student_version_~i~1 1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:15,775 INFO L290 TraceCheckUtils]: 4: Hoare triple {3405#(<= student_version_~i~1 1)} assume !(~l~1 < ~m); {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:15,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {3405#(<= student_version_~i~1 1)} ~x~1 := 0;~y~1 := 0; {3406#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-27 11:36:15,775 INFO L290 TraceCheckUtils]: 6: Hoare triple {3406#(<= 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; {3407#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:36:15,776 INFO L290 TraceCheckUtils]: 7: Hoare triple {3407#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {3376#false} is VALID [2022-04-27 11:36:15,776 INFO L290 TraceCheckUtils]: 8: Hoare triple {3376#false} assume !(~x~1 < ~i~1); {3376#false} is VALID [2022-04-27 11:36:15,776 INFO L290 TraceCheckUtils]: 9: Hoare triple {3376#false} #res := ~y~1; {3376#false} is VALID [2022-04-27 11:36:15,776 INFO L290 TraceCheckUtils]: 10: Hoare triple {3376#false} assume true; {3376#false} is VALID [2022-04-27 11:36:15,776 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {3376#false} {3375#true} #113#return; {3376#false} is VALID [2022-04-27 11:36:15,777 INFO L272 TraceCheckUtils]: 0: Hoare triple {3375#true} call ULTIMATE.init(); {3403#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:15,777 INFO L290 TraceCheckUtils]: 1: Hoare triple {3403#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {3375#true} is VALID [2022-04-27 11:36:15,777 INFO L290 TraceCheckUtils]: 2: Hoare triple {3375#true} assume true; {3375#true} is VALID [2022-04-27 11:36:15,777 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3375#true} {3375#true} #117#return; {3375#true} is VALID [2022-04-27 11:36:15,777 INFO L272 TraceCheckUtils]: 4: Hoare triple {3375#true} call #t~ret10 := main(); {3375#true} is VALID [2022-04-27 11:36:15,777 INFO L290 TraceCheckUtils]: 5: Hoare triple {3375#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {3375#true} is VALID [2022-04-27 11:36:15,777 INFO L290 TraceCheckUtils]: 6: Hoare triple {3375#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {3375#true} is VALID [2022-04-27 11:36:15,777 INFO L272 TraceCheckUtils]: 7: Hoare triple {3375#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {3375#true} is VALID [2022-04-27 11:36:15,777 INFO L290 TraceCheckUtils]: 8: Hoare triple {3375#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {3375#true} is VALID [2022-04-27 11:36:15,777 INFO L290 TraceCheckUtils]: 9: Hoare triple {3375#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {3375#true} is VALID [2022-04-27 11:36:15,777 INFO L290 TraceCheckUtils]: 10: Hoare triple {3375#true} assume !(~b~0 < ~n); {3375#true} is VALID [2022-04-27 11:36:15,777 INFO L290 TraceCheckUtils]: 11: Hoare triple {3375#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {3375#true} is VALID [2022-04-27 11:36:15,777 INFO L290 TraceCheckUtils]: 12: Hoare triple {3375#true} assume !(~l~0 < ~m); {3375#true} is VALID [2022-04-27 11:36:15,778 INFO L290 TraceCheckUtils]: 13: Hoare triple {3375#true} ~x~0 := 0;~y~0 := 0; {3375#true} is VALID [2022-04-27 11:36:15,778 INFO L290 TraceCheckUtils]: 14: Hoare triple {3375#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {3375#true} is VALID [2022-04-27 11:36:15,778 INFO L290 TraceCheckUtils]: 15: Hoare triple {3375#true} assume !(~x~0 < ~i~0); {3375#true} is VALID [2022-04-27 11:36:15,778 INFO L290 TraceCheckUtils]: 16: Hoare triple {3375#true} #res := ~y~0; {3375#true} is VALID [2022-04-27 11:36:15,778 INFO L290 TraceCheckUtils]: 17: Hoare triple {3375#true} assume true; {3375#true} is VALID [2022-04-27 11:36:15,778 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3375#true} {3375#true} #111#return; {3375#true} is VALID [2022-04-27 11:36:15,778 INFO L290 TraceCheckUtils]: 19: Hoare triple {3375#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {3375#true} is VALID [2022-04-27 11:36:15,778 INFO L272 TraceCheckUtils]: 20: Hoare triple {3375#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {3375#true} is VALID [2022-04-27 11:36:15,778 INFO L290 TraceCheckUtils]: 21: Hoare triple {3375#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {3404#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:36:15,779 INFO L290 TraceCheckUtils]: 22: Hoare triple {3404#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:15,779 INFO L290 TraceCheckUtils]: 23: Hoare triple {3405#(<= student_version_~i~1 1)} assume !(~b~1 < ~n); {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:15,779 INFO L290 TraceCheckUtils]: 24: Hoare triple {3405#(<= student_version_~i~1 1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:15,780 INFO L290 TraceCheckUtils]: 25: Hoare triple {3405#(<= student_version_~i~1 1)} assume !(~l~1 < ~m); {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:15,780 INFO L290 TraceCheckUtils]: 26: Hoare triple {3405#(<= student_version_~i~1 1)} ~x~1 := 0;~y~1 := 0; {3406#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-27 11:36:15,780 INFO L290 TraceCheckUtils]: 27: Hoare triple {3406#(<= 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; {3407#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:36:15,781 INFO L290 TraceCheckUtils]: 28: Hoare triple {3407#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {3376#false} is VALID [2022-04-27 11:36:15,781 INFO L290 TraceCheckUtils]: 29: Hoare triple {3376#false} assume !(~x~1 < ~i~1); {3376#false} is VALID [2022-04-27 11:36:15,781 INFO L290 TraceCheckUtils]: 30: Hoare triple {3376#false} #res := ~y~1; {3376#false} is VALID [2022-04-27 11:36:15,781 INFO L290 TraceCheckUtils]: 31: Hoare triple {3376#false} assume true; {3376#false} is VALID [2022-04-27 11:36:15,781 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3376#false} {3375#true} #113#return; {3376#false} is VALID [2022-04-27 11:36:15,781 INFO L290 TraceCheckUtils]: 33: Hoare triple {3376#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {3376#false} is VALID [2022-04-27 11:36:15,781 INFO L272 TraceCheckUtils]: 34: Hoare triple {3376#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {3376#false} is VALID [2022-04-27 11:36:15,781 INFO L290 TraceCheckUtils]: 35: Hoare triple {3376#false} ~cond := #in~cond; {3376#false} is VALID [2022-04-27 11:36:15,781 INFO L290 TraceCheckUtils]: 36: Hoare triple {3376#false} assume 0 == ~cond; {3376#false} is VALID [2022-04-27 11:36:15,781 INFO L290 TraceCheckUtils]: 37: Hoare triple {3376#false} assume !false; {3376#false} is VALID [2022-04-27 11:36:15,781 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-27 11:36:15,781 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:15,782 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [58792184] [2022-04-27 11:36:15,782 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [58792184] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:15,782 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [786492803] [2022-04-27 11:36:15,782 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:36:15,782 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:15,782 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:15,783 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-27 11:36:15,804 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-27 11:36:15,853 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:36:15,853 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:36:15,854 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 11:36:15,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:15,863 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:15,968 INFO L272 TraceCheckUtils]: 0: Hoare triple {3375#true} call ULTIMATE.init(); {3375#true} is VALID [2022-04-27 11:36:15,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {3375#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {3375#true} is VALID [2022-04-27 11:36:15,969 INFO L290 TraceCheckUtils]: 2: Hoare triple {3375#true} assume true; {3375#true} is VALID [2022-04-27 11:36:15,969 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3375#true} {3375#true} #117#return; {3375#true} is VALID [2022-04-27 11:36:15,969 INFO L272 TraceCheckUtils]: 4: Hoare triple {3375#true} call #t~ret10 := main(); {3375#true} is VALID [2022-04-27 11:36:15,969 INFO L290 TraceCheckUtils]: 5: Hoare triple {3375#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {3375#true} is VALID [2022-04-27 11:36:15,969 INFO L290 TraceCheckUtils]: 6: Hoare triple {3375#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {3375#true} is VALID [2022-04-27 11:36:15,969 INFO L272 TraceCheckUtils]: 7: Hoare triple {3375#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {3375#true} is VALID [2022-04-27 11:36:15,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {3375#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {3375#true} is VALID [2022-04-27 11:36:15,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {3375#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {3375#true} is VALID [2022-04-27 11:36:15,969 INFO L290 TraceCheckUtils]: 10: Hoare triple {3375#true} assume !(~b~0 < ~n); {3375#true} is VALID [2022-04-27 11:36:15,969 INFO L290 TraceCheckUtils]: 11: Hoare triple {3375#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {3375#true} is VALID [2022-04-27 11:36:15,970 INFO L290 TraceCheckUtils]: 12: Hoare triple {3375#true} assume !(~l~0 < ~m); {3375#true} is VALID [2022-04-27 11:36:15,970 INFO L290 TraceCheckUtils]: 13: Hoare triple {3375#true} ~x~0 := 0;~y~0 := 0; {3375#true} is VALID [2022-04-27 11:36:15,970 INFO L290 TraceCheckUtils]: 14: Hoare triple {3375#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {3375#true} is VALID [2022-04-27 11:36:15,970 INFO L290 TraceCheckUtils]: 15: Hoare triple {3375#true} assume !(~x~0 < ~i~0); {3375#true} is VALID [2022-04-27 11:36:15,970 INFO L290 TraceCheckUtils]: 16: Hoare triple {3375#true} #res := ~y~0; {3375#true} is VALID [2022-04-27 11:36:15,970 INFO L290 TraceCheckUtils]: 17: Hoare triple {3375#true} assume true; {3375#true} is VALID [2022-04-27 11:36:15,970 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3375#true} {3375#true} #111#return; {3375#true} is VALID [2022-04-27 11:36:15,970 INFO L290 TraceCheckUtils]: 19: Hoare triple {3375#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {3375#true} is VALID [2022-04-27 11:36:15,970 INFO L272 TraceCheckUtils]: 20: Hoare triple {3375#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {3375#true} is VALID [2022-04-27 11:36:15,970 INFO L290 TraceCheckUtils]: 21: Hoare triple {3375#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {3404#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:36:15,971 INFO L290 TraceCheckUtils]: 22: Hoare triple {3404#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:15,971 INFO L290 TraceCheckUtils]: 23: Hoare triple {3405#(<= student_version_~i~1 1)} assume !(~b~1 < ~n); {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:15,971 INFO L290 TraceCheckUtils]: 24: Hoare triple {3405#(<= student_version_~i~1 1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:15,972 INFO L290 TraceCheckUtils]: 25: Hoare triple {3405#(<= student_version_~i~1 1)} assume !(~l~1 < ~m); {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:15,972 INFO L290 TraceCheckUtils]: 26: Hoare triple {3405#(<= student_version_~i~1 1)} ~x~1 := 0;~y~1 := 0; {3489#(and (<= 0 student_version_~x~1) (<= student_version_~i~1 1))} is VALID [2022-04-27 11:36:15,972 INFO L290 TraceCheckUtils]: 27: Hoare triple {3489#(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; {3493#(and (<= 1 student_version_~x~1) (<= student_version_~i~1 1))} is VALID [2022-04-27 11:36:15,973 INFO L290 TraceCheckUtils]: 28: Hoare triple {3493#(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; {3376#false} is VALID [2022-04-27 11:36:15,973 INFO L290 TraceCheckUtils]: 29: Hoare triple {3376#false} assume !(~x~1 < ~i~1); {3376#false} is VALID [2022-04-27 11:36:15,973 INFO L290 TraceCheckUtils]: 30: Hoare triple {3376#false} #res := ~y~1; {3376#false} is VALID [2022-04-27 11:36:15,973 INFO L290 TraceCheckUtils]: 31: Hoare triple {3376#false} assume true; {3376#false} is VALID [2022-04-27 11:36:15,973 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3376#false} {3375#true} #113#return; {3376#false} is VALID [2022-04-27 11:36:15,973 INFO L290 TraceCheckUtils]: 33: Hoare triple {3376#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {3376#false} is VALID [2022-04-27 11:36:15,973 INFO L272 TraceCheckUtils]: 34: Hoare triple {3376#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {3376#false} is VALID [2022-04-27 11:36:15,973 INFO L290 TraceCheckUtils]: 35: Hoare triple {3376#false} ~cond := #in~cond; {3376#false} is VALID [2022-04-27 11:36:15,973 INFO L290 TraceCheckUtils]: 36: Hoare triple {3376#false} assume 0 == ~cond; {3376#false} is VALID [2022-04-27 11:36:15,973 INFO L290 TraceCheckUtils]: 37: Hoare triple {3376#false} assume !false; {3376#false} is VALID [2022-04-27 11:36:15,974 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-27 11:36:15,974 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:16,073 INFO L290 TraceCheckUtils]: 37: Hoare triple {3376#false} assume !false; {3376#false} is VALID [2022-04-27 11:36:16,073 INFO L290 TraceCheckUtils]: 36: Hoare triple {3376#false} assume 0 == ~cond; {3376#false} is VALID [2022-04-27 11:36:16,073 INFO L290 TraceCheckUtils]: 35: Hoare triple {3376#false} ~cond := #in~cond; {3376#false} is VALID [2022-04-27 11:36:16,074 INFO L272 TraceCheckUtils]: 34: Hoare triple {3376#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {3376#false} is VALID [2022-04-27 11:36:16,074 INFO L290 TraceCheckUtils]: 33: Hoare triple {3376#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {3376#false} is VALID [2022-04-27 11:36:16,074 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3376#false} {3375#true} #113#return; {3376#false} is VALID [2022-04-27 11:36:16,074 INFO L290 TraceCheckUtils]: 31: Hoare triple {3376#false} assume true; {3376#false} is VALID [2022-04-27 11:36:16,087 INFO L290 TraceCheckUtils]: 30: Hoare triple {3376#false} #res := ~y~1; {3376#false} is VALID [2022-04-27 11:36:16,087 INFO L290 TraceCheckUtils]: 29: Hoare triple {3376#false} assume !(~x~1 < ~i~1); {3376#false} is VALID [2022-04-27 11:36:16,088 INFO L290 TraceCheckUtils]: 28: Hoare triple {3407#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {3376#false} is VALID [2022-04-27 11:36:16,088 INFO L290 TraceCheckUtils]: 27: Hoare triple {3406#(<= 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; {3407#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:36:16,089 INFO L290 TraceCheckUtils]: 26: Hoare triple {3405#(<= student_version_~i~1 1)} ~x~1 := 0;~y~1 := 0; {3406#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-27 11:36:16,089 INFO L290 TraceCheckUtils]: 25: Hoare triple {3405#(<= student_version_~i~1 1)} assume !(~l~1 < ~m); {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:16,089 INFO L290 TraceCheckUtils]: 24: Hoare triple {3405#(<= student_version_~i~1 1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:16,089 INFO L290 TraceCheckUtils]: 23: Hoare triple {3405#(<= student_version_~i~1 1)} assume !(~b~1 < ~n); {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:16,090 INFO L290 TraceCheckUtils]: 22: Hoare triple {3404#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {3405#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:36:16,090 INFO L290 TraceCheckUtils]: 21: Hoare triple {3375#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {3404#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:36:16,090 INFO L272 TraceCheckUtils]: 20: Hoare triple {3375#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {3375#true} is VALID [2022-04-27 11:36:16,090 INFO L290 TraceCheckUtils]: 19: Hoare triple {3375#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {3375#true} is VALID [2022-04-27 11:36:16,090 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3375#true} {3375#true} #111#return; {3375#true} is VALID [2022-04-27 11:36:16,090 INFO L290 TraceCheckUtils]: 17: Hoare triple {3375#true} assume true; {3375#true} is VALID [2022-04-27 11:36:16,091 INFO L290 TraceCheckUtils]: 16: Hoare triple {3375#true} #res := ~y~0; {3375#true} is VALID [2022-04-27 11:36:16,091 INFO L290 TraceCheckUtils]: 15: Hoare triple {3375#true} assume !(~x~0 < ~i~0); {3375#true} is VALID [2022-04-27 11:36:16,091 INFO L290 TraceCheckUtils]: 14: Hoare triple {3375#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {3375#true} is VALID [2022-04-27 11:36:16,091 INFO L290 TraceCheckUtils]: 13: Hoare triple {3375#true} ~x~0 := 0;~y~0 := 0; {3375#true} is VALID [2022-04-27 11:36:16,091 INFO L290 TraceCheckUtils]: 12: Hoare triple {3375#true} assume !(~l~0 < ~m); {3375#true} is VALID [2022-04-27 11:36:16,091 INFO L290 TraceCheckUtils]: 11: Hoare triple {3375#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {3375#true} is VALID [2022-04-27 11:36:16,091 INFO L290 TraceCheckUtils]: 10: Hoare triple {3375#true} assume !(~b~0 < ~n); {3375#true} is VALID [2022-04-27 11:36:16,091 INFO L290 TraceCheckUtils]: 9: Hoare triple {3375#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {3375#true} is VALID [2022-04-27 11:36:16,091 INFO L290 TraceCheckUtils]: 8: Hoare triple {3375#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {3375#true} is VALID [2022-04-27 11:36:16,091 INFO L272 TraceCheckUtils]: 7: Hoare triple {3375#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {3375#true} is VALID [2022-04-27 11:36:16,091 INFO L290 TraceCheckUtils]: 6: Hoare triple {3375#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {3375#true} is VALID [2022-04-27 11:36:16,091 INFO L290 TraceCheckUtils]: 5: Hoare triple {3375#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {3375#true} is VALID [2022-04-27 11:36:16,091 INFO L272 TraceCheckUtils]: 4: Hoare triple {3375#true} call #t~ret10 := main(); {3375#true} is VALID [2022-04-27 11:36:16,091 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3375#true} {3375#true} #117#return; {3375#true} is VALID [2022-04-27 11:36:16,092 INFO L290 TraceCheckUtils]: 2: Hoare triple {3375#true} assume true; {3375#true} is VALID [2022-04-27 11:36:16,092 INFO L290 TraceCheckUtils]: 1: Hoare triple {3375#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {3375#true} is VALID [2022-04-27 11:36:16,092 INFO L272 TraceCheckUtils]: 0: Hoare triple {3375#true} call ULTIMATE.init(); {3375#true} is VALID [2022-04-27 11:36:16,092 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-27 11:36:16,092 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [786492803] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:16,092 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:16,092 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 9 [2022-04-27 11:36:16,092 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1688850838] [2022-04-27 11:36:16,092 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:16,093 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 8 states have internal predecessors, (34), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 38 [2022-04-27 11:36:16,093 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:16,093 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 8 states have internal predecessors, (34), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:36:16,125 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-27 11:36:16,125 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 11:36:16,125 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:16,125 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 11:36:16,125 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-04-27 11:36:16,125 INFO L87 Difference]: Start difference. First operand 54 states and 64 transitions. Second operand has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 8 states have internal predecessors, (34), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:36:16,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:16,424 INFO L93 Difference]: Finished difference Result 80 states and 97 transitions. [2022-04-27 11:36:16,424 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 11:36:16,424 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 8 states have internal predecessors, (34), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 38 [2022-04-27 11:36:16,424 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:16,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 8 states have internal predecessors, (34), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:36:16,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 59 transitions. [2022-04-27 11:36:16,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 8 states have internal predecessors, (34), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:36:16,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 59 transitions. [2022-04-27 11:36:16,426 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 59 transitions. [2022-04-27 11:36:16,487 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-27 11:36:16,488 INFO L225 Difference]: With dead ends: 80 [2022-04-27 11:36:16,488 INFO L226 Difference]: Without dead ends: 70 [2022-04-27 11:36:16,489 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=56, Invalid=126, Unknown=0, NotChecked=0, Total=182 [2022-04-27 11:36:16,489 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 43 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 139 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 54 SdHoareTripleChecker+Invalid, 149 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 139 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:16,489 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 54 Invalid, 149 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 139 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:36:16,489 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-27 11:36:16,559 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 64. [2022-04-27 11:36:16,559 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:16,559 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-27 11:36:16,559 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-27 11:36:16,559 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-27 11:36:16,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:16,561 INFO L93 Difference]: Finished difference Result 70 states and 84 transitions. [2022-04-27 11:36:16,561 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 84 transitions. [2022-04-27 11:36:16,561 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:16,561 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:16,561 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-27 11:36:16,561 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-27 11:36:16,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:16,562 INFO L93 Difference]: Finished difference Result 70 states and 84 transitions. [2022-04-27 11:36:16,562 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 84 transitions. [2022-04-27 11:36:16,563 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:16,563 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:16,563 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:16,563 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:16,563 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-27 11:36:16,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-04-27 11:36:16,564 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 38 [2022-04-27 11:36:16,564 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:16,564 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-04-27 11:36:16,564 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 8 states have internal predecessors, (34), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:36:16,564 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-27 11:36:16,564 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-27 11:36:16,565 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:16,565 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:16,584 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-27 11:36:16,765 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-27 11:36:16,765 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:16,766 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:16,766 INFO L85 PathProgramCache]: Analyzing trace with hash 1488699212, now seen corresponding path program 3 times [2022-04-27 11:36:16,766 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:16,766 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1182681199] [2022-04-27 11:36:16,766 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:16,766 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:16,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:16,821 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:16,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:16,824 INFO L290 TraceCheckUtils]: 0: Hoare triple {4019#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {3990#true} is VALID [2022-04-27 11:36:16,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {3990#true} assume true; {3990#true} is VALID [2022-04-27 11:36:16,824 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3990#true} {3990#true} #117#return; {3990#true} is VALID [2022-04-27 11:36:16,825 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:16,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:16,855 INFO L290 TraceCheckUtils]: 0: Hoare triple {3990#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {4020#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:16,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {4020#(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; {4020#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:16,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {4020#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {4020#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:16,856 INFO L290 TraceCheckUtils]: 3: Hoare triple {4020#(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; {4021#(and (<= correct_version_~l~0 |correct_version_#in~a|) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-27 11:36:16,856 INFO L290 TraceCheckUtils]: 4: Hoare triple {4021#(and (<= correct_version_~l~0 |correct_version_#in~a|) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:16,857 INFO L290 TraceCheckUtils]: 5: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:16,857 INFO L290 TraceCheckUtils]: 6: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:16,857 INFO L290 TraceCheckUtils]: 7: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:16,858 INFO L290 TraceCheckUtils]: 8: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} #res := ~y~0; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:16,858 INFO L290 TraceCheckUtils]: 9: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume true; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:16,859 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} {3990#true} #111#return; {4006#(<= main_~m~0 main_~a~0)} is VALID [2022-04-27 11:36:16,859 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-27 11:36:16,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:16,928 INFO L290 TraceCheckUtils]: 0: Hoare triple {3990#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4023#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:16,929 INFO L290 TraceCheckUtils]: 1: Hoare triple {4023#(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; {4023#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:16,929 INFO L290 TraceCheckUtils]: 2: Hoare triple {4023#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {4023#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:16,930 INFO L290 TraceCheckUtils]: 3: Hoare triple {4023#(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; {4024#(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-27 11:36:16,930 INFO L290 TraceCheckUtils]: 4: Hoare triple {4024#(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; {4025#(and (<= (+ |student_version_#in~a| 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:16,936 INFO L290 TraceCheckUtils]: 5: Hoare triple {4025#(and (<= (+ |student_version_#in~a| 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:16,936 INFO L290 TraceCheckUtils]: 6: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:16,937 INFO L290 TraceCheckUtils]: 7: Hoare triple {4026#(<= (+ |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; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:16,937 INFO L290 TraceCheckUtils]: 8: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:16,937 INFO L290 TraceCheckUtils]: 9: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} #res := ~y~1; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:16,937 INFO L290 TraceCheckUtils]: 10: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume true; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:16,938 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} {4006#(<= main_~m~0 main_~a~0)} #113#return; {3991#false} is VALID [2022-04-27 11:36:16,939 INFO L272 TraceCheckUtils]: 0: Hoare triple {3990#true} call ULTIMATE.init(); {4019#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:16,939 INFO L290 TraceCheckUtils]: 1: Hoare triple {4019#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {3990#true} is VALID [2022-04-27 11:36:16,939 INFO L290 TraceCheckUtils]: 2: Hoare triple {3990#true} assume true; {3990#true} is VALID [2022-04-27 11:36:16,939 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3990#true} {3990#true} #117#return; {3990#true} is VALID [2022-04-27 11:36:16,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {3990#true} call #t~ret10 := main(); {3990#true} is VALID [2022-04-27 11:36:16,939 INFO L290 TraceCheckUtils]: 5: Hoare triple {3990#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {3990#true} is VALID [2022-04-27 11:36:16,939 INFO L290 TraceCheckUtils]: 6: Hoare triple {3990#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {3990#true} is VALID [2022-04-27 11:36:16,939 INFO L272 TraceCheckUtils]: 7: Hoare triple {3990#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {3990#true} is VALID [2022-04-27 11:36:16,939 INFO L290 TraceCheckUtils]: 8: Hoare triple {3990#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {4020#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:16,940 INFO L290 TraceCheckUtils]: 9: Hoare triple {4020#(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; {4020#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:16,940 INFO L290 TraceCheckUtils]: 10: Hoare triple {4020#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {4020#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:16,941 INFO L290 TraceCheckUtils]: 11: Hoare triple {4020#(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; {4021#(and (<= correct_version_~l~0 |correct_version_#in~a|) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-27 11:36:16,941 INFO L290 TraceCheckUtils]: 12: Hoare triple {4021#(and (<= correct_version_~l~0 |correct_version_#in~a|) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:16,941 INFO L290 TraceCheckUtils]: 13: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:16,941 INFO L290 TraceCheckUtils]: 14: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:16,942 INFO L290 TraceCheckUtils]: 15: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:16,942 INFO L290 TraceCheckUtils]: 16: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} #res := ~y~0; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:16,942 INFO L290 TraceCheckUtils]: 17: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume true; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:16,943 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} {3990#true} #111#return; {4006#(<= main_~m~0 main_~a~0)} is VALID [2022-04-27 11:36:16,943 INFO L290 TraceCheckUtils]: 19: Hoare triple {4006#(<= main_~m~0 main_~a~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {4006#(<= main_~m~0 main_~a~0)} is VALID [2022-04-27 11:36:16,943 INFO L272 TraceCheckUtils]: 20: Hoare triple {4006#(<= main_~m~0 main_~a~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {3990#true} is VALID [2022-04-27 11:36:16,943 INFO L290 TraceCheckUtils]: 21: Hoare triple {3990#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4023#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:16,944 INFO L290 TraceCheckUtils]: 22: Hoare triple {4023#(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; {4023#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:16,944 INFO L290 TraceCheckUtils]: 23: Hoare triple {4023#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {4023#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:16,944 INFO L290 TraceCheckUtils]: 24: Hoare triple {4023#(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; {4024#(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-27 11:36:16,945 INFO L290 TraceCheckUtils]: 25: Hoare triple {4024#(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; {4025#(and (<= (+ |student_version_#in~a| 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:16,945 INFO L290 TraceCheckUtils]: 26: Hoare triple {4025#(and (<= (+ |student_version_#in~a| 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:16,945 INFO L290 TraceCheckUtils]: 27: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:16,946 INFO L290 TraceCheckUtils]: 28: Hoare triple {4026#(<= (+ |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; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:16,946 INFO L290 TraceCheckUtils]: 29: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:16,946 INFO L290 TraceCheckUtils]: 30: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} #res := ~y~1; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:16,946 INFO L290 TraceCheckUtils]: 31: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume true; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:16,947 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} {4006#(<= main_~m~0 main_~a~0)} #113#return; {3991#false} is VALID [2022-04-27 11:36:16,947 INFO L290 TraceCheckUtils]: 33: Hoare triple {3991#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {3991#false} is VALID [2022-04-27 11:36:16,947 INFO L272 TraceCheckUtils]: 34: Hoare triple {3991#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {3991#false} is VALID [2022-04-27 11:36:16,947 INFO L290 TraceCheckUtils]: 35: Hoare triple {3991#false} ~cond := #in~cond; {3991#false} is VALID [2022-04-27 11:36:16,947 INFO L290 TraceCheckUtils]: 36: Hoare triple {3991#false} assume 0 == ~cond; {3991#false} is VALID [2022-04-27 11:36:16,947 INFO L290 TraceCheckUtils]: 37: Hoare triple {3991#false} assume !false; {3991#false} is VALID [2022-04-27 11:36:16,947 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-27 11:36:16,948 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:16,948 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1182681199] [2022-04-27 11:36:16,948 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1182681199] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:16,948 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1024654380] [2022-04-27 11:36:16,948 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:36:16,948 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:16,948 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:16,949 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-27 11:36:16,963 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-27 11:36:17,006 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-04-27 11:36:17,006 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:36:17,007 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 11:36:17,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:17,018 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:17,318 INFO L272 TraceCheckUtils]: 0: Hoare triple {3990#true} call ULTIMATE.init(); {3990#true} is VALID [2022-04-27 11:36:17,318 INFO L290 TraceCheckUtils]: 1: Hoare triple {3990#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {3990#true} is VALID [2022-04-27 11:36:17,318 INFO L290 TraceCheckUtils]: 2: Hoare triple {3990#true} assume true; {3990#true} is VALID [2022-04-27 11:36:17,318 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3990#true} {3990#true} #117#return; {3990#true} is VALID [2022-04-27 11:36:17,318 INFO L272 TraceCheckUtils]: 4: Hoare triple {3990#true} call #t~ret10 := main(); {3990#true} is VALID [2022-04-27 11:36:17,318 INFO L290 TraceCheckUtils]: 5: Hoare triple {3990#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {3990#true} is VALID [2022-04-27 11:36:17,318 INFO L290 TraceCheckUtils]: 6: Hoare triple {3990#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {3990#true} is VALID [2022-04-27 11:36:17,318 INFO L272 TraceCheckUtils]: 7: Hoare triple {3990#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {3990#true} is VALID [2022-04-27 11:36:17,319 INFO L290 TraceCheckUtils]: 8: Hoare triple {3990#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {4054#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:36:17,319 INFO L290 TraceCheckUtils]: 9: Hoare triple {4054#(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; {4054#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:36:17,319 INFO L290 TraceCheckUtils]: 10: Hoare triple {4054#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {4054#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:36:17,320 INFO L290 TraceCheckUtils]: 11: Hoare triple {4054#(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; {4064#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:17,320 INFO L290 TraceCheckUtils]: 12: Hoare triple {4064#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 |correct_version_#in~a|))} assume !(~l~0 < ~m); {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:17,321 INFO L290 TraceCheckUtils]: 13: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:17,321 INFO L290 TraceCheckUtils]: 14: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:17,321 INFO L290 TraceCheckUtils]: 15: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:17,321 INFO L290 TraceCheckUtils]: 16: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} #res := ~y~0; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:17,322 INFO L290 TraceCheckUtils]: 17: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume true; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:17,322 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} {3990#true} #111#return; {4006#(<= main_~m~0 main_~a~0)} is VALID [2022-04-27 11:36:17,322 INFO L290 TraceCheckUtils]: 19: Hoare triple {4006#(<= main_~m~0 main_~a~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {4006#(<= main_~m~0 main_~a~0)} is VALID [2022-04-27 11:36:17,323 INFO L272 TraceCheckUtils]: 20: Hoare triple {4006#(<= main_~m~0 main_~a~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {3990#true} is VALID [2022-04-27 11:36:17,323 INFO L290 TraceCheckUtils]: 21: Hoare triple {3990#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4095#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:36:17,323 INFO L290 TraceCheckUtils]: 22: Hoare triple {4095#(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; {4095#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:36:17,324 INFO L290 TraceCheckUtils]: 23: Hoare triple {4095#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {4095#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:36:17,324 INFO L290 TraceCheckUtils]: 24: Hoare triple {4095#(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; {4105#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| student_version_~l~1))} is VALID [2022-04-27 11:36:17,325 INFO L290 TraceCheckUtils]: 25: Hoare triple {4105#(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; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:17,325 INFO L290 TraceCheckUtils]: 26: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:17,325 INFO L290 TraceCheckUtils]: 27: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:17,325 INFO L290 TraceCheckUtils]: 28: Hoare triple {4026#(<= (+ |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; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:17,326 INFO L290 TraceCheckUtils]: 29: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:17,326 INFO L290 TraceCheckUtils]: 30: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} #res := ~y~1; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:17,326 INFO L290 TraceCheckUtils]: 31: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume true; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:17,327 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} {4006#(<= main_~m~0 main_~a~0)} #113#return; {3991#false} is VALID [2022-04-27 11:36:17,327 INFO L290 TraceCheckUtils]: 33: Hoare triple {3991#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {3991#false} is VALID [2022-04-27 11:36:17,327 INFO L272 TraceCheckUtils]: 34: Hoare triple {3991#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {3991#false} is VALID [2022-04-27 11:36:17,327 INFO L290 TraceCheckUtils]: 35: Hoare triple {3991#false} ~cond := #in~cond; {3991#false} is VALID [2022-04-27 11:36:17,327 INFO L290 TraceCheckUtils]: 36: Hoare triple {3991#false} assume 0 == ~cond; {3991#false} is VALID [2022-04-27 11:36:17,327 INFO L290 TraceCheckUtils]: 37: Hoare triple {3991#false} assume !false; {3991#false} is VALID [2022-04-27 11:36:17,327 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-27 11:36:17,327 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:17,910 INFO L290 TraceCheckUtils]: 37: Hoare triple {3991#false} assume !false; {3991#false} is VALID [2022-04-27 11:36:17,910 INFO L290 TraceCheckUtils]: 36: Hoare triple {3991#false} assume 0 == ~cond; {3991#false} is VALID [2022-04-27 11:36:17,910 INFO L290 TraceCheckUtils]: 35: Hoare triple {3991#false} ~cond := #in~cond; {3991#false} is VALID [2022-04-27 11:36:17,910 INFO L272 TraceCheckUtils]: 34: Hoare triple {3991#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {3991#false} is VALID [2022-04-27 11:36:17,910 INFO L290 TraceCheckUtils]: 33: Hoare triple {3991#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {3991#false} is VALID [2022-04-27 11:36:17,911 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} {4006#(<= main_~m~0 main_~a~0)} #113#return; {3991#false} is VALID [2022-04-27 11:36:17,911 INFO L290 TraceCheckUtils]: 31: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume true; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:17,912 INFO L290 TraceCheckUtils]: 30: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} #res := ~y~1; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:17,912 INFO L290 TraceCheckUtils]: 29: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:17,912 INFO L290 TraceCheckUtils]: 28: Hoare triple {4026#(<= (+ |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; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:17,912 INFO L290 TraceCheckUtils]: 27: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:17,913 INFO L290 TraceCheckUtils]: 26: Hoare triple {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:17,913 INFO L290 TraceCheckUtils]: 25: Hoare triple {4184#(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; {4026#(<= (+ |student_version_#in~a| 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:17,913 INFO L290 TraceCheckUtils]: 24: Hoare triple {4188#(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; {4184#(or (<= (+ |student_version_#in~a| 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-27 11:36:17,914 INFO L290 TraceCheckUtils]: 23: Hoare triple {4188#(or (<= (+ |student_version_#in~a| 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} assume !(~b~1 < ~n); {4188#(or (<= (+ |student_version_#in~a| 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} is VALID [2022-04-27 11:36:17,914 INFO L290 TraceCheckUtils]: 22: Hoare triple {4188#(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; {4188#(or (<= (+ |student_version_#in~a| 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} is VALID [2022-04-27 11:36:17,914 INFO L290 TraceCheckUtils]: 21: Hoare triple {3990#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4188#(or (<= (+ |student_version_#in~a| 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} is VALID [2022-04-27 11:36:17,914 INFO L272 TraceCheckUtils]: 20: Hoare triple {4006#(<= main_~m~0 main_~a~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {3990#true} is VALID [2022-04-27 11:36:17,915 INFO L290 TraceCheckUtils]: 19: Hoare triple {4006#(<= main_~m~0 main_~a~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {4006#(<= main_~m~0 main_~a~0)} is VALID [2022-04-27 11:36:17,915 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} {3990#true} #111#return; {4006#(<= main_~m~0 main_~a~0)} is VALID [2022-04-27 11:36:17,916 INFO L290 TraceCheckUtils]: 17: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume true; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:17,916 INFO L290 TraceCheckUtils]: 16: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} #res := ~y~0; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:17,918 INFO L290 TraceCheckUtils]: 15: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:17,918 INFO L290 TraceCheckUtils]: 14: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:17,918 INFO L290 TraceCheckUtils]: 13: Hoare triple {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:17,918 INFO L290 TraceCheckUtils]: 12: Hoare triple {4225#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| |correct_version_#in~a|))} assume !(~l~0 < ~m); {4022#(<= |correct_version_#in~m| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:17,919 INFO L290 TraceCheckUtils]: 11: Hoare triple {4229#(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; {4225#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| |correct_version_#in~a|))} is VALID [2022-04-27 11:36:17,919 INFO L290 TraceCheckUtils]: 10: Hoare triple {4229#(or (<= |correct_version_#in~m| |correct_version_#in~a|) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} assume !(~b~0 < ~n); {4229#(or (<= |correct_version_#in~m| |correct_version_#in~a|) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-27 11:36:17,920 INFO L290 TraceCheckUtils]: 9: Hoare triple {4229#(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; {4229#(or (<= |correct_version_#in~m| |correct_version_#in~a|) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-27 11:36:17,920 INFO L290 TraceCheckUtils]: 8: Hoare triple {3990#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {4229#(or (<= |correct_version_#in~m| |correct_version_#in~a|) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-27 11:36:17,920 INFO L272 TraceCheckUtils]: 7: Hoare triple {3990#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {3990#true} is VALID [2022-04-27 11:36:17,920 INFO L290 TraceCheckUtils]: 6: Hoare triple {3990#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {3990#true} is VALID [2022-04-27 11:36:17,920 INFO L290 TraceCheckUtils]: 5: Hoare triple {3990#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {3990#true} is VALID [2022-04-27 11:36:17,920 INFO L272 TraceCheckUtils]: 4: Hoare triple {3990#true} call #t~ret10 := main(); {3990#true} is VALID [2022-04-27 11:36:17,920 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3990#true} {3990#true} #117#return; {3990#true} is VALID [2022-04-27 11:36:17,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {3990#true} assume true; {3990#true} is VALID [2022-04-27 11:36:17,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {3990#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {3990#true} is VALID [2022-04-27 11:36:17,921 INFO L272 TraceCheckUtils]: 0: Hoare triple {3990#true} call ULTIMATE.init(); {3990#true} is VALID [2022-04-27 11:36:17,921 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-27 11:36:17,921 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1024654380] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:17,921 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:17,921 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9, 9] total 19 [2022-04-27 11:36:17,923 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2086186850] [2022-04-27 11:36:17,923 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:17,924 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 38 [2022-04-27 11:36:17,925 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:17,925 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:17,959 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-27 11:36:17,959 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 11:36:17,960 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:17,960 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 11:36:17,960 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=288, Unknown=0, NotChecked=0, Total=342 [2022-04-27 11:36:17,960 INFO L87 Difference]: Start difference. First operand 64 states and 77 transitions. Second operand has 19 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:18,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:18,906 INFO L93 Difference]: Finished difference Result 82 states and 100 transitions. [2022-04-27 11:36:18,906 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-27 11:36:18,907 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 38 [2022-04-27 11:36:18,907 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:18,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:18,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 66 transitions. [2022-04-27 11:36:18,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:18,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 66 transitions. [2022-04-27 11:36:18,909 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 66 transitions. [2022-04-27 11:36:18,975 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-27 11:36:18,976 INFO L225 Difference]: With dead ends: 82 [2022-04-27 11:36:18,976 INFO L226 Difference]: Without dead ends: 76 [2022-04-27 11:36:18,976 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 70 SyntacticMatches, 2 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=108, Invalid=594, Unknown=0, NotChecked=0, Total=702 [2022-04-27 11:36:18,977 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 95 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 409 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 99 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 425 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 409 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:18,977 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [99 Valid, 81 Invalid, 425 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 409 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 11:36:18,977 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-27 11:36:19,064 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 74. [2022-04-27 11:36:19,064 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:19,064 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-27 11:36:19,064 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-27 11:36:19,064 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-27 11:36:19,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:19,067 INFO L93 Difference]: Finished difference Result 76 states and 93 transitions. [2022-04-27 11:36:19,067 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-27 11:36:19,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:19,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:19,068 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-27 11:36:19,068 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-27 11:36:19,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:19,070 INFO L93 Difference]: Finished difference Result 76 states and 93 transitions. [2022-04-27 11:36:19,070 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-27 11:36:19,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:19,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:19,070 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:19,070 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:19,071 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-27 11:36:19,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 91 transitions. [2022-04-27 11:36:19,072 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 91 transitions. Word has length 38 [2022-04-27 11:36:19,072 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:19,072 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 91 transitions. [2022-04-27 11:36:19,072 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:19,072 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-27 11:36:19,073 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-27 11:36:19,073 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:19,073 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:19,091 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-27 11:36:19,287 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:19,288 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:19,288 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:19,288 INFO L85 PathProgramCache]: Analyzing trace with hash 1229776654, now seen corresponding path program 4 times [2022-04-27 11:36:19,288 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:19,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2095481038] [2022-04-27 11:36:19,288 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:19,288 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:19,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:19,318 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:19,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:19,322 INFO L290 TraceCheckUtils]: 0: Hoare triple {4679#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {4651#true} is VALID [2022-04-27 11:36:19,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {4651#true} assume true; {4651#true} is VALID [2022-04-27 11:36:19,322 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4651#true} {4651#true} #117#return; {4651#true} is VALID [2022-04-27 11:36:19,322 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:19,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:19,354 INFO L290 TraceCheckUtils]: 0: Hoare triple {4651#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {4680#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:36:19,354 INFO L290 TraceCheckUtils]: 1: Hoare triple {4680#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,355 INFO L290 TraceCheckUtils]: 2: Hoare triple {4681#(<= correct_version_~i~0 1)} assume !(~b~0 < ~n); {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,355 INFO L290 TraceCheckUtils]: 3: Hoare triple {4681#(<= correct_version_~i~0 1)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,355 INFO L290 TraceCheckUtils]: 4: Hoare triple {4681#(<= correct_version_~i~0 1)} assume !(~l~0 < ~m); {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,355 INFO L290 TraceCheckUtils]: 5: Hoare triple {4681#(<= correct_version_~i~0 1)} ~x~0 := 0;~y~0 := 0; {4682#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-27 11:36:19,356 INFO L290 TraceCheckUtils]: 6: Hoare triple {4682#(<= 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; {4683#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:36:19,356 INFO L290 TraceCheckUtils]: 7: Hoare triple {4683#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {4652#false} is VALID [2022-04-27 11:36:19,356 INFO L290 TraceCheckUtils]: 8: Hoare triple {4652#false} assume !(~x~0 < ~i~0); {4652#false} is VALID [2022-04-27 11:36:19,356 INFO L290 TraceCheckUtils]: 9: Hoare triple {4652#false} #res := ~y~0; {4652#false} is VALID [2022-04-27 11:36:19,356 INFO L290 TraceCheckUtils]: 10: Hoare triple {4652#false} assume true; {4652#false} is VALID [2022-04-27 11:36:19,356 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4652#false} {4651#true} #111#return; {4652#false} is VALID [2022-04-27 11:36:19,357 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-27 11:36:19,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:19,368 INFO L290 TraceCheckUtils]: 0: Hoare triple {4651#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4651#true} is VALID [2022-04-27 11:36:19,368 INFO L290 TraceCheckUtils]: 1: Hoare triple {4651#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {4651#true} is VALID [2022-04-27 11:36:19,368 INFO L290 TraceCheckUtils]: 2: Hoare triple {4651#true} assume !(~b~1 < ~n); {4651#true} is VALID [2022-04-27 11:36:19,368 INFO L290 TraceCheckUtils]: 3: Hoare triple {4651#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4651#true} is VALID [2022-04-27 11:36:19,368 INFO L290 TraceCheckUtils]: 4: Hoare triple {4651#true} assume !(~l~1 < ~m); {4651#true} is VALID [2022-04-27 11:36:19,368 INFO L290 TraceCheckUtils]: 5: Hoare triple {4651#true} ~x~1 := 0;~y~1 := 0; {4651#true} is VALID [2022-04-27 11:36:19,368 INFO L290 TraceCheckUtils]: 6: Hoare triple {4651#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4651#true} is VALID [2022-04-27 11:36:19,368 INFO L290 TraceCheckUtils]: 7: Hoare triple {4651#true} assume !(~x~1 < ~i~1); {4651#true} is VALID [2022-04-27 11:36:19,368 INFO L290 TraceCheckUtils]: 8: Hoare triple {4651#true} #res := ~y~1; {4651#true} is VALID [2022-04-27 11:36:19,369 INFO L290 TraceCheckUtils]: 9: Hoare triple {4651#true} assume true; {4651#true} is VALID [2022-04-27 11:36:19,369 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4651#true} {4652#false} #113#return; {4652#false} is VALID [2022-04-27 11:36:19,369 INFO L272 TraceCheckUtils]: 0: Hoare triple {4651#true} call ULTIMATE.init(); {4679#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:19,369 INFO L290 TraceCheckUtils]: 1: Hoare triple {4679#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {4651#true} is VALID [2022-04-27 11:36:19,369 INFO L290 TraceCheckUtils]: 2: Hoare triple {4651#true} assume true; {4651#true} is VALID [2022-04-27 11:36:19,369 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4651#true} {4651#true} #117#return; {4651#true} is VALID [2022-04-27 11:36:19,369 INFO L272 TraceCheckUtils]: 4: Hoare triple {4651#true} call #t~ret10 := main(); {4651#true} is VALID [2022-04-27 11:36:19,369 INFO L290 TraceCheckUtils]: 5: Hoare triple {4651#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {4651#true} is VALID [2022-04-27 11:36:19,369 INFO L290 TraceCheckUtils]: 6: Hoare triple {4651#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {4651#true} is VALID [2022-04-27 11:36:19,370 INFO L272 TraceCheckUtils]: 7: Hoare triple {4651#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {4651#true} is VALID [2022-04-27 11:36:19,370 INFO L290 TraceCheckUtils]: 8: Hoare triple {4651#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {4680#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:36:19,370 INFO L290 TraceCheckUtils]: 9: Hoare triple {4680#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,371 INFO L290 TraceCheckUtils]: 10: Hoare triple {4681#(<= correct_version_~i~0 1)} assume !(~b~0 < ~n); {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,371 INFO L290 TraceCheckUtils]: 11: Hoare triple {4681#(<= correct_version_~i~0 1)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,371 INFO L290 TraceCheckUtils]: 12: Hoare triple {4681#(<= correct_version_~i~0 1)} assume !(~l~0 < ~m); {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,371 INFO L290 TraceCheckUtils]: 13: Hoare triple {4681#(<= correct_version_~i~0 1)} ~x~0 := 0;~y~0 := 0; {4682#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-27 11:36:19,372 INFO L290 TraceCheckUtils]: 14: Hoare triple {4682#(<= 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; {4683#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:36:19,372 INFO L290 TraceCheckUtils]: 15: Hoare triple {4683#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {4652#false} is VALID [2022-04-27 11:36:19,372 INFO L290 TraceCheckUtils]: 16: Hoare triple {4652#false} assume !(~x~0 < ~i~0); {4652#false} is VALID [2022-04-27 11:36:19,372 INFO L290 TraceCheckUtils]: 17: Hoare triple {4652#false} #res := ~y~0; {4652#false} is VALID [2022-04-27 11:36:19,372 INFO L290 TraceCheckUtils]: 18: Hoare triple {4652#false} assume true; {4652#false} is VALID [2022-04-27 11:36:19,372 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4652#false} {4651#true} #111#return; {4652#false} is VALID [2022-04-27 11:36:19,372 INFO L290 TraceCheckUtils]: 20: Hoare triple {4652#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {4652#false} is VALID [2022-04-27 11:36:19,372 INFO L272 TraceCheckUtils]: 21: Hoare triple {4652#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {4651#true} is VALID [2022-04-27 11:36:19,373 INFO L290 TraceCheckUtils]: 22: Hoare triple {4651#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4651#true} is VALID [2022-04-27 11:36:19,373 INFO L290 TraceCheckUtils]: 23: Hoare triple {4651#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {4651#true} is VALID [2022-04-27 11:36:19,373 INFO L290 TraceCheckUtils]: 24: Hoare triple {4651#true} assume !(~b~1 < ~n); {4651#true} is VALID [2022-04-27 11:36:19,373 INFO L290 TraceCheckUtils]: 25: Hoare triple {4651#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4651#true} is VALID [2022-04-27 11:36:19,373 INFO L290 TraceCheckUtils]: 26: Hoare triple {4651#true} assume !(~l~1 < ~m); {4651#true} is VALID [2022-04-27 11:36:19,373 INFO L290 TraceCheckUtils]: 27: Hoare triple {4651#true} ~x~1 := 0;~y~1 := 0; {4651#true} is VALID [2022-04-27 11:36:19,373 INFO L290 TraceCheckUtils]: 28: Hoare triple {4651#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4651#true} is VALID [2022-04-27 11:36:19,373 INFO L290 TraceCheckUtils]: 29: Hoare triple {4651#true} assume !(~x~1 < ~i~1); {4651#true} is VALID [2022-04-27 11:36:19,373 INFO L290 TraceCheckUtils]: 30: Hoare triple {4651#true} #res := ~y~1; {4651#true} is VALID [2022-04-27 11:36:19,373 INFO L290 TraceCheckUtils]: 31: Hoare triple {4651#true} assume true; {4651#true} is VALID [2022-04-27 11:36:19,373 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4651#true} {4652#false} #113#return; {4652#false} is VALID [2022-04-27 11:36:19,374 INFO L290 TraceCheckUtils]: 33: Hoare triple {4652#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {4652#false} is VALID [2022-04-27 11:36:19,374 INFO L272 TraceCheckUtils]: 34: Hoare triple {4652#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {4652#false} is VALID [2022-04-27 11:36:19,374 INFO L290 TraceCheckUtils]: 35: Hoare triple {4652#false} ~cond := #in~cond; {4652#false} is VALID [2022-04-27 11:36:19,374 INFO L290 TraceCheckUtils]: 36: Hoare triple {4652#false} assume 0 == ~cond; {4652#false} is VALID [2022-04-27 11:36:19,374 INFO L290 TraceCheckUtils]: 37: Hoare triple {4652#false} assume !false; {4652#false} is VALID [2022-04-27 11:36:19,374 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-27 11:36:19,374 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:19,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2095481038] [2022-04-27 11:36:19,374 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2095481038] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:19,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1906740716] [2022-04-27 11:36:19,374 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 11:36:19,374 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:19,374 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:19,383 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-27 11:36:19,383 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-27 11:36:19,425 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 11:36:19,426 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:36:19,426 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 11:36:19,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:19,447 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:19,552 INFO L272 TraceCheckUtils]: 0: Hoare triple {4651#true} call ULTIMATE.init(); {4651#true} is VALID [2022-04-27 11:36:19,552 INFO L290 TraceCheckUtils]: 1: Hoare triple {4651#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {4651#true} is VALID [2022-04-27 11:36:19,552 INFO L290 TraceCheckUtils]: 2: Hoare triple {4651#true} assume true; {4651#true} is VALID [2022-04-27 11:36:19,552 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4651#true} {4651#true} #117#return; {4651#true} is VALID [2022-04-27 11:36:19,552 INFO L272 TraceCheckUtils]: 4: Hoare triple {4651#true} call #t~ret10 := main(); {4651#true} is VALID [2022-04-27 11:36:19,552 INFO L290 TraceCheckUtils]: 5: Hoare triple {4651#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {4651#true} is VALID [2022-04-27 11:36:19,552 INFO L290 TraceCheckUtils]: 6: Hoare triple {4651#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {4651#true} is VALID [2022-04-27 11:36:19,552 INFO L272 TraceCheckUtils]: 7: Hoare triple {4651#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {4651#true} is VALID [2022-04-27 11:36:19,553 INFO L290 TraceCheckUtils]: 8: Hoare triple {4651#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {4680#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:36:19,553 INFO L290 TraceCheckUtils]: 9: Hoare triple {4680#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,553 INFO L290 TraceCheckUtils]: 10: Hoare triple {4681#(<= correct_version_~i~0 1)} assume !(~b~0 < ~n); {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,554 INFO L290 TraceCheckUtils]: 11: Hoare triple {4681#(<= correct_version_~i~0 1)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,554 INFO L290 TraceCheckUtils]: 12: Hoare triple {4681#(<= correct_version_~i~0 1)} assume !(~l~0 < ~m); {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,554 INFO L290 TraceCheckUtils]: 13: Hoare triple {4681#(<= correct_version_~i~0 1)} ~x~0 := 0;~y~0 := 0; {4726#(and (<= correct_version_~i~0 1) (<= 0 correct_version_~x~0))} is VALID [2022-04-27 11:36:19,555 INFO L290 TraceCheckUtils]: 14: Hoare triple {4726#(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; {4730#(and (<= correct_version_~i~0 1) (<= 1 correct_version_~x~0))} is VALID [2022-04-27 11:36:19,555 INFO L290 TraceCheckUtils]: 15: Hoare triple {4730#(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; {4652#false} is VALID [2022-04-27 11:36:19,555 INFO L290 TraceCheckUtils]: 16: Hoare triple {4652#false} assume !(~x~0 < ~i~0); {4652#false} is VALID [2022-04-27 11:36:19,555 INFO L290 TraceCheckUtils]: 17: Hoare triple {4652#false} #res := ~y~0; {4652#false} is VALID [2022-04-27 11:36:19,555 INFO L290 TraceCheckUtils]: 18: Hoare triple {4652#false} assume true; {4652#false} is VALID [2022-04-27 11:36:19,555 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4652#false} {4651#true} #111#return; {4652#false} is VALID [2022-04-27 11:36:19,555 INFO L290 TraceCheckUtils]: 20: Hoare triple {4652#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {4652#false} is VALID [2022-04-27 11:36:19,555 INFO L272 TraceCheckUtils]: 21: Hoare triple {4652#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {4652#false} is VALID [2022-04-27 11:36:19,555 INFO L290 TraceCheckUtils]: 22: Hoare triple {4652#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4652#false} is VALID [2022-04-27 11:36:19,556 INFO L290 TraceCheckUtils]: 23: Hoare triple {4652#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {4652#false} is VALID [2022-04-27 11:36:19,556 INFO L290 TraceCheckUtils]: 24: Hoare triple {4652#false} assume !(~b~1 < ~n); {4652#false} is VALID [2022-04-27 11:36:19,556 INFO L290 TraceCheckUtils]: 25: Hoare triple {4652#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4652#false} is VALID [2022-04-27 11:36:19,556 INFO L290 TraceCheckUtils]: 26: Hoare triple {4652#false} assume !(~l~1 < ~m); {4652#false} is VALID [2022-04-27 11:36:19,556 INFO L290 TraceCheckUtils]: 27: Hoare triple {4652#false} ~x~1 := 0;~y~1 := 0; {4652#false} is VALID [2022-04-27 11:36:19,556 INFO L290 TraceCheckUtils]: 28: Hoare triple {4652#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4652#false} is VALID [2022-04-27 11:36:19,556 INFO L290 TraceCheckUtils]: 29: Hoare triple {4652#false} assume !(~x~1 < ~i~1); {4652#false} is VALID [2022-04-27 11:36:19,556 INFO L290 TraceCheckUtils]: 30: Hoare triple {4652#false} #res := ~y~1; {4652#false} is VALID [2022-04-27 11:36:19,556 INFO L290 TraceCheckUtils]: 31: Hoare triple {4652#false} assume true; {4652#false} is VALID [2022-04-27 11:36:19,556 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4652#false} {4652#false} #113#return; {4652#false} is VALID [2022-04-27 11:36:19,556 INFO L290 TraceCheckUtils]: 33: Hoare triple {4652#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {4652#false} is VALID [2022-04-27 11:36:19,556 INFO L272 TraceCheckUtils]: 34: Hoare triple {4652#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {4652#false} is VALID [2022-04-27 11:36:19,556 INFO L290 TraceCheckUtils]: 35: Hoare triple {4652#false} ~cond := #in~cond; {4652#false} is VALID [2022-04-27 11:36:19,556 INFO L290 TraceCheckUtils]: 36: Hoare triple {4652#false} assume 0 == ~cond; {4652#false} is VALID [2022-04-27 11:36:19,556 INFO L290 TraceCheckUtils]: 37: Hoare triple {4652#false} assume !false; {4652#false} is VALID [2022-04-27 11:36:19,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-27 11:36:19,557 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:19,649 INFO L290 TraceCheckUtils]: 37: Hoare triple {4652#false} assume !false; {4652#false} is VALID [2022-04-27 11:36:19,650 INFO L290 TraceCheckUtils]: 36: Hoare triple {4652#false} assume 0 == ~cond; {4652#false} is VALID [2022-04-27 11:36:19,650 INFO L290 TraceCheckUtils]: 35: Hoare triple {4652#false} ~cond := #in~cond; {4652#false} is VALID [2022-04-27 11:36:19,650 INFO L272 TraceCheckUtils]: 34: Hoare triple {4652#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {4652#false} is VALID [2022-04-27 11:36:19,650 INFO L290 TraceCheckUtils]: 33: Hoare triple {4652#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {4652#false} is VALID [2022-04-27 11:36:19,650 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4651#true} {4652#false} #113#return; {4652#false} is VALID [2022-04-27 11:36:19,650 INFO L290 TraceCheckUtils]: 31: Hoare triple {4651#true} assume true; {4651#true} is VALID [2022-04-27 11:36:19,650 INFO L290 TraceCheckUtils]: 30: Hoare triple {4651#true} #res := ~y~1; {4651#true} is VALID [2022-04-27 11:36:19,650 INFO L290 TraceCheckUtils]: 29: Hoare triple {4651#true} assume !(~x~1 < ~i~1); {4651#true} is VALID [2022-04-27 11:36:19,650 INFO L290 TraceCheckUtils]: 28: Hoare triple {4651#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {4651#true} is VALID [2022-04-27 11:36:19,650 INFO L290 TraceCheckUtils]: 27: Hoare triple {4651#true} ~x~1 := 0;~y~1 := 0; {4651#true} is VALID [2022-04-27 11:36:19,650 INFO L290 TraceCheckUtils]: 26: Hoare triple {4651#true} assume !(~l~1 < ~m); {4651#true} is VALID [2022-04-27 11:36:19,650 INFO L290 TraceCheckUtils]: 25: Hoare triple {4651#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {4651#true} is VALID [2022-04-27 11:36:19,650 INFO L290 TraceCheckUtils]: 24: Hoare triple {4651#true} assume !(~b~1 < ~n); {4651#true} is VALID [2022-04-27 11:36:19,651 INFO L290 TraceCheckUtils]: 23: Hoare triple {4651#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {4651#true} is VALID [2022-04-27 11:36:19,651 INFO L290 TraceCheckUtils]: 22: Hoare triple {4651#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {4651#true} is VALID [2022-04-27 11:36:19,651 INFO L272 TraceCheckUtils]: 21: Hoare triple {4652#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {4651#true} is VALID [2022-04-27 11:36:19,651 INFO L290 TraceCheckUtils]: 20: Hoare triple {4652#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {4652#false} is VALID [2022-04-27 11:36:19,651 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4652#false} {4651#true} #111#return; {4652#false} is VALID [2022-04-27 11:36:19,651 INFO L290 TraceCheckUtils]: 18: Hoare triple {4652#false} assume true; {4652#false} is VALID [2022-04-27 11:36:19,651 INFO L290 TraceCheckUtils]: 17: Hoare triple {4652#false} #res := ~y~0; {4652#false} is VALID [2022-04-27 11:36:19,651 INFO L290 TraceCheckUtils]: 16: Hoare triple {4652#false} assume !(~x~0 < ~i~0); {4652#false} is VALID [2022-04-27 11:36:19,651 INFO L290 TraceCheckUtils]: 15: Hoare triple {4683#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {4652#false} is VALID [2022-04-27 11:36:19,652 INFO L290 TraceCheckUtils]: 14: Hoare triple {4682#(<= 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; {4683#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:36:19,652 INFO L290 TraceCheckUtils]: 13: Hoare triple {4681#(<= correct_version_~i~0 1)} ~x~0 := 0;~y~0 := 0; {4682#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-27 11:36:19,652 INFO L290 TraceCheckUtils]: 12: Hoare triple {4681#(<= correct_version_~i~0 1)} assume !(~l~0 < ~m); {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,653 INFO L290 TraceCheckUtils]: 11: Hoare triple {4681#(<= correct_version_~i~0 1)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,653 INFO L290 TraceCheckUtils]: 10: Hoare triple {4681#(<= correct_version_~i~0 1)} assume !(~b~0 < ~n); {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,653 INFO L290 TraceCheckUtils]: 9: Hoare triple {4680#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {4681#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:36:19,654 INFO L290 TraceCheckUtils]: 8: Hoare triple {4651#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {4680#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:36:19,654 INFO L272 TraceCheckUtils]: 7: Hoare triple {4651#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {4651#true} is VALID [2022-04-27 11:36:19,654 INFO L290 TraceCheckUtils]: 6: Hoare triple {4651#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {4651#true} is VALID [2022-04-27 11:36:19,654 INFO L290 TraceCheckUtils]: 5: Hoare triple {4651#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {4651#true} is VALID [2022-04-27 11:36:19,654 INFO L272 TraceCheckUtils]: 4: Hoare triple {4651#true} call #t~ret10 := main(); {4651#true} is VALID [2022-04-27 11:36:19,654 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4651#true} {4651#true} #117#return; {4651#true} is VALID [2022-04-27 11:36:19,654 INFO L290 TraceCheckUtils]: 2: Hoare triple {4651#true} assume true; {4651#true} is VALID [2022-04-27 11:36:19,654 INFO L290 TraceCheckUtils]: 1: Hoare triple {4651#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {4651#true} is VALID [2022-04-27 11:36:19,654 INFO L272 TraceCheckUtils]: 0: Hoare triple {4651#true} call ULTIMATE.init(); {4651#true} is VALID [2022-04-27 11:36:19,654 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-27 11:36:19,654 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1906740716] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:19,654 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:19,654 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 9 [2022-04-27 11:36:19,655 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1871585402] [2022-04-27 11:36:19,655 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:19,655 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 38 [2022-04-27 11:36:19,656 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:19,656 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:19,681 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:36:19,681 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 11:36:19,681 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:19,681 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 11:36:19,681 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-04-27 11:36:19,682 INFO L87 Difference]: Start difference. First operand 74 states and 91 transitions. Second operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:19,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:19,920 INFO L93 Difference]: Finished difference Result 140 states and 174 transitions. [2022-04-27 11:36:19,920 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 11:36:19,920 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 38 [2022-04-27 11:36:19,920 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:19,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:19,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2022-04-27 11:36:19,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:19,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2022-04-27 11:36:19,921 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 72 transitions. [2022-04-27 11:36:19,971 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-27 11:36:19,972 INFO L225 Difference]: With dead ends: 140 [2022-04-27 11:36:19,972 INFO L226 Difference]: Without dead ends: 90 [2022-04-27 11:36:19,973 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=56, Invalid=126, Unknown=0, NotChecked=0, Total=182 [2022-04-27 11:36:19,973 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 49 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 104 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 116 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 104 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:19,973 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [52 Valid, 49 Invalid, 116 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 104 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:36:19,973 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-04-27 11:36:20,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 84. [2022-04-27 11:36:20,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:20,060 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-27 11:36:20,060 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-27 11:36:20,060 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-27 11:36:20,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:20,062 INFO L93 Difference]: Finished difference Result 90 states and 110 transitions. [2022-04-27 11:36:20,062 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 110 transitions. [2022-04-27 11:36:20,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:20,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:20,063 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-27 11:36:20,063 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-27 11:36:20,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:20,064 INFO L93 Difference]: Finished difference Result 90 states and 110 transitions. [2022-04-27 11:36:20,064 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 110 transitions. [2022-04-27 11:36:20,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:20,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:20,065 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:20,065 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:20,065 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-27 11:36:20,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 104 transitions. [2022-04-27 11:36:20,066 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 104 transitions. Word has length 38 [2022-04-27 11:36:20,066 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:20,066 INFO L495 AbstractCegarLoop]: Abstraction has 84 states and 104 transitions. [2022-04-27 11:36:20,066 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:20,066 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-27 11:36:20,067 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-27 11:36:20,067 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:20,068 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:20,087 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-27 11:36:20,268 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:20,269 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:20,269 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:20,269 INFO L85 PathProgramCache]: Analyzing trace with hash 1473231215, now seen corresponding path program 5 times [2022-04-27 11:36:20,269 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:20,269 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [303250058] [2022-04-27 11:36:20,269 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:20,269 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:20,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:20,315 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:20,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:20,320 INFO L290 TraceCheckUtils]: 0: Hoare triple {5447#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {5418#true} is VALID [2022-04-27 11:36:20,320 INFO L290 TraceCheckUtils]: 1: Hoare triple {5418#true} assume true; {5418#true} is VALID [2022-04-27 11:36:20,320 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5418#true} {5418#true} #117#return; {5418#true} is VALID [2022-04-27 11:36:20,321 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:20,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:20,371 INFO L290 TraceCheckUtils]: 0: Hoare triple {5418#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {5448#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:20,372 INFO L290 TraceCheckUtils]: 1: Hoare triple {5448#(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; {5448#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:20,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {5448#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {5448#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:20,373 INFO L290 TraceCheckUtils]: 3: Hoare triple {5448#(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; {5449#(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-27 11:36:20,373 INFO L290 TraceCheckUtils]: 4: Hoare triple {5449#(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; {5450#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ |correct_version_#in~a| 1) correct_version_~m))} is VALID [2022-04-27 11:36:20,374 INFO L290 TraceCheckUtils]: 5: Hoare triple {5450#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ |correct_version_#in~a| 1) correct_version_~m))} assume !(~l~0 < ~m); {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,374 INFO L290 TraceCheckUtils]: 6: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,374 INFO L290 TraceCheckUtils]: 7: Hoare triple {5451#(<= (+ |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; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,375 INFO L290 TraceCheckUtils]: 8: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,375 INFO L290 TraceCheckUtils]: 9: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} #res := ~y~0; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,375 INFO L290 TraceCheckUtils]: 10: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume true; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,376 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} {5418#true} #111#return; {5435#(<= (+ main_~a~0 1) main_~m~0)} is VALID [2022-04-27 11:36:20,376 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-27 11:36:20,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:20,434 INFO L290 TraceCheckUtils]: 0: Hoare triple {5418#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {5452#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:20,435 INFO L290 TraceCheckUtils]: 1: Hoare triple {5452#(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; {5452#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:20,435 INFO L290 TraceCheckUtils]: 2: Hoare triple {5452#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {5452#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:20,436 INFO L290 TraceCheckUtils]: 3: Hoare triple {5452#(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; {5453#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 |student_version_#in~a|))} is VALID [2022-04-27 11:36:20,436 INFO L290 TraceCheckUtils]: 4: Hoare triple {5453#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 |student_version_#in~a|))} assume !(~l~1 < ~m); {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,437 INFO L290 TraceCheckUtils]: 5: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,437 INFO L290 TraceCheckUtils]: 6: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,437 INFO L290 TraceCheckUtils]: 7: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,437 INFO L290 TraceCheckUtils]: 8: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} #res := ~y~1; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,438 INFO L290 TraceCheckUtils]: 9: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} assume true; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,439 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} {5435#(<= (+ main_~a~0 1) main_~m~0)} #113#return; {5419#false} is VALID [2022-04-27 11:36:20,439 INFO L272 TraceCheckUtils]: 0: Hoare triple {5418#true} call ULTIMATE.init(); {5447#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:20,439 INFO L290 TraceCheckUtils]: 1: Hoare triple {5447#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {5418#true} is VALID [2022-04-27 11:36:20,439 INFO L290 TraceCheckUtils]: 2: Hoare triple {5418#true} assume true; {5418#true} is VALID [2022-04-27 11:36:20,439 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5418#true} {5418#true} #117#return; {5418#true} is VALID [2022-04-27 11:36:20,439 INFO L272 TraceCheckUtils]: 4: Hoare triple {5418#true} call #t~ret10 := main(); {5418#true} is VALID [2022-04-27 11:36:20,440 INFO L290 TraceCheckUtils]: 5: Hoare triple {5418#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {5418#true} is VALID [2022-04-27 11:36:20,440 INFO L290 TraceCheckUtils]: 6: Hoare triple {5418#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {5418#true} is VALID [2022-04-27 11:36:20,440 INFO L272 TraceCheckUtils]: 7: Hoare triple {5418#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {5418#true} is VALID [2022-04-27 11:36:20,440 INFO L290 TraceCheckUtils]: 8: Hoare triple {5418#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {5448#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:20,441 INFO L290 TraceCheckUtils]: 9: Hoare triple {5448#(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; {5448#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:20,441 INFO L290 TraceCheckUtils]: 10: Hoare triple {5448#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {5448#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:20,441 INFO L290 TraceCheckUtils]: 11: Hoare triple {5448#(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; {5449#(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-27 11:36:20,442 INFO L290 TraceCheckUtils]: 12: Hoare triple {5449#(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; {5450#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ |correct_version_#in~a| 1) correct_version_~m))} is VALID [2022-04-27 11:36:20,442 INFO L290 TraceCheckUtils]: 13: Hoare triple {5450#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ |correct_version_#in~a| 1) correct_version_~m))} assume !(~l~0 < ~m); {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,443 INFO L290 TraceCheckUtils]: 14: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,443 INFO L290 TraceCheckUtils]: 15: Hoare triple {5451#(<= (+ |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; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,443 INFO L290 TraceCheckUtils]: 16: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,443 INFO L290 TraceCheckUtils]: 17: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} #res := ~y~0; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,444 INFO L290 TraceCheckUtils]: 18: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume true; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,444 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} {5418#true} #111#return; {5435#(<= (+ main_~a~0 1) main_~m~0)} is VALID [2022-04-27 11:36:20,445 INFO L290 TraceCheckUtils]: 20: Hoare triple {5435#(<= (+ main_~a~0 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {5435#(<= (+ main_~a~0 1) main_~m~0)} is VALID [2022-04-27 11:36:20,445 INFO L272 TraceCheckUtils]: 21: Hoare triple {5435#(<= (+ main_~a~0 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {5418#true} is VALID [2022-04-27 11:36:20,445 INFO L290 TraceCheckUtils]: 22: Hoare triple {5418#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {5452#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:20,445 INFO L290 TraceCheckUtils]: 23: Hoare triple {5452#(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; {5452#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:20,446 INFO L290 TraceCheckUtils]: 24: Hoare triple {5452#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {5452#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:20,446 INFO L290 TraceCheckUtils]: 25: Hoare triple {5452#(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; {5453#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 |student_version_#in~a|))} is VALID [2022-04-27 11:36:20,447 INFO L290 TraceCheckUtils]: 26: Hoare triple {5453#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 |student_version_#in~a|))} assume !(~l~1 < ~m); {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,447 INFO L290 TraceCheckUtils]: 27: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,447 INFO L290 TraceCheckUtils]: 28: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,448 INFO L290 TraceCheckUtils]: 29: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,448 INFO L290 TraceCheckUtils]: 30: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} #res := ~y~1; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,448 INFO L290 TraceCheckUtils]: 31: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} assume true; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,449 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} {5435#(<= (+ main_~a~0 1) main_~m~0)} #113#return; {5419#false} is VALID [2022-04-27 11:36:20,449 INFO L290 TraceCheckUtils]: 33: Hoare triple {5419#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {5419#false} is VALID [2022-04-27 11:36:20,449 INFO L272 TraceCheckUtils]: 34: Hoare triple {5419#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {5419#false} is VALID [2022-04-27 11:36:20,449 INFO L290 TraceCheckUtils]: 35: Hoare triple {5419#false} ~cond := #in~cond; {5419#false} is VALID [2022-04-27 11:36:20,449 INFO L290 TraceCheckUtils]: 36: Hoare triple {5419#false} assume 0 == ~cond; {5419#false} is VALID [2022-04-27 11:36:20,449 INFO L290 TraceCheckUtils]: 37: Hoare triple {5419#false} assume !false; {5419#false} is VALID [2022-04-27 11:36:20,449 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-27 11:36:20,449 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:20,449 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [303250058] [2022-04-27 11:36:20,450 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [303250058] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:20,450 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1007262427] [2022-04-27 11:36:20,450 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 11:36:20,450 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:20,450 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:20,451 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-27 11:36:20,452 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-27 11:36:20,504 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:36:20,504 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:36:20,505 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 11:36:20,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:20,515 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:20,857 INFO L272 TraceCheckUtils]: 0: Hoare triple {5418#true} call ULTIMATE.init(); {5418#true} is VALID [2022-04-27 11:36:20,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {5418#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {5418#true} is VALID [2022-04-27 11:36:20,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {5418#true} assume true; {5418#true} is VALID [2022-04-27 11:36:20,858 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5418#true} {5418#true} #117#return; {5418#true} is VALID [2022-04-27 11:36:20,858 INFO L272 TraceCheckUtils]: 4: Hoare triple {5418#true} call #t~ret10 := main(); {5418#true} is VALID [2022-04-27 11:36:20,858 INFO L290 TraceCheckUtils]: 5: Hoare triple {5418#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {5418#true} is VALID [2022-04-27 11:36:20,858 INFO L290 TraceCheckUtils]: 6: Hoare triple {5418#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {5418#true} is VALID [2022-04-27 11:36:20,858 INFO L272 TraceCheckUtils]: 7: Hoare triple {5418#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {5418#true} is VALID [2022-04-27 11:36:20,858 INFO L290 TraceCheckUtils]: 8: Hoare triple {5418#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {5482#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:20,859 INFO L290 TraceCheckUtils]: 9: Hoare triple {5482#(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; {5482#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:20,859 INFO L290 TraceCheckUtils]: 10: Hoare triple {5482#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {5482#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:20,860 INFO L290 TraceCheckUtils]: 11: Hoare triple {5482#(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; {5492#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| correct_version_~l~0))} is VALID [2022-04-27 11:36:20,860 INFO L290 TraceCheckUtils]: 12: Hoare triple {5492#(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; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,860 INFO L290 TraceCheckUtils]: 13: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,861 INFO L290 TraceCheckUtils]: 14: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,861 INFO L290 TraceCheckUtils]: 15: Hoare triple {5451#(<= (+ |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; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,861 INFO L290 TraceCheckUtils]: 16: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,861 INFO L290 TraceCheckUtils]: 17: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} #res := ~y~0; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,862 INFO L290 TraceCheckUtils]: 18: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume true; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:20,862 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} {5418#true} #111#return; {5435#(<= (+ main_~a~0 1) main_~m~0)} is VALID [2022-04-27 11:36:20,863 INFO L290 TraceCheckUtils]: 20: Hoare triple {5435#(<= (+ main_~a~0 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {5435#(<= (+ main_~a~0 1) main_~m~0)} is VALID [2022-04-27 11:36:20,863 INFO L272 TraceCheckUtils]: 21: Hoare triple {5435#(<= (+ main_~a~0 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {5418#true} is VALID [2022-04-27 11:36:20,863 INFO L290 TraceCheckUtils]: 22: Hoare triple {5418#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {5526#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:36:20,864 INFO L290 TraceCheckUtils]: 23: Hoare triple {5526#(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; {5526#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:36:20,864 INFO L290 TraceCheckUtils]: 24: Hoare triple {5526#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {5526#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:36:20,864 INFO L290 TraceCheckUtils]: 25: Hoare triple {5526#(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; {5536#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 |student_version_#in~a|))} is VALID [2022-04-27 11:36:20,865 INFO L290 TraceCheckUtils]: 26: Hoare triple {5536#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 |student_version_#in~a|))} assume !(~l~1 < ~m); {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,865 INFO L290 TraceCheckUtils]: 27: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,865 INFO L290 TraceCheckUtils]: 28: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,866 INFO L290 TraceCheckUtils]: 29: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,866 INFO L290 TraceCheckUtils]: 30: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} #res := ~y~1; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,866 INFO L290 TraceCheckUtils]: 31: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} assume true; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:20,867 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} {5435#(<= (+ main_~a~0 1) main_~m~0)} #113#return; {5419#false} is VALID [2022-04-27 11:36:20,867 INFO L290 TraceCheckUtils]: 33: Hoare triple {5419#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {5419#false} is VALID [2022-04-27 11:36:20,867 INFO L272 TraceCheckUtils]: 34: Hoare triple {5419#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {5419#false} is VALID [2022-04-27 11:36:20,867 INFO L290 TraceCheckUtils]: 35: Hoare triple {5419#false} ~cond := #in~cond; {5419#false} is VALID [2022-04-27 11:36:20,867 INFO L290 TraceCheckUtils]: 36: Hoare triple {5419#false} assume 0 == ~cond; {5419#false} is VALID [2022-04-27 11:36:20,867 INFO L290 TraceCheckUtils]: 37: Hoare triple {5419#false} assume !false; {5419#false} is VALID [2022-04-27 11:36:20,867 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-27 11:36:20,867 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:21,616 INFO L290 TraceCheckUtils]: 37: Hoare triple {5419#false} assume !false; {5419#false} is VALID [2022-04-27 11:36:21,616 INFO L290 TraceCheckUtils]: 36: Hoare triple {5419#false} assume 0 == ~cond; {5419#false} is VALID [2022-04-27 11:36:21,616 INFO L290 TraceCheckUtils]: 35: Hoare triple {5419#false} ~cond := #in~cond; {5419#false} is VALID [2022-04-27 11:36:21,616 INFO L272 TraceCheckUtils]: 34: Hoare triple {5419#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {5419#false} is VALID [2022-04-27 11:36:21,617 INFO L290 TraceCheckUtils]: 33: Hoare triple {5419#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {5419#false} is VALID [2022-04-27 11:36:21,617 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} {5435#(<= (+ main_~a~0 1) main_~m~0)} #113#return; {5419#false} is VALID [2022-04-27 11:36:21,618 INFO L290 TraceCheckUtils]: 31: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} assume true; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:21,618 INFO L290 TraceCheckUtils]: 30: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} #res := ~y~1; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:21,618 INFO L290 TraceCheckUtils]: 29: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:21,618 INFO L290 TraceCheckUtils]: 28: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:21,619 INFO L290 TraceCheckUtils]: 27: Hoare triple {5454#(<= |student_version_#in~m| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:21,619 INFO L290 TraceCheckUtils]: 26: Hoare triple {5609#(or (<= |student_version_#in~m| |student_version_#in~a|) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {5454#(<= |student_version_#in~m| |student_version_#in~a|)} is VALID [2022-04-27 11:36:21,620 INFO L290 TraceCheckUtils]: 25: Hoare triple {5613#(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; {5609#(or (<= |student_version_#in~m| |student_version_#in~a|) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-27 11:36:21,620 INFO L290 TraceCheckUtils]: 24: Hoare triple {5613#(or (< (+ student_version_~l~1 student_version_~a) student_version_~m) (<= |student_version_#in~m| |student_version_#in~a|))} assume !(~b~1 < ~n); {5613#(or (< (+ student_version_~l~1 student_version_~a) student_version_~m) (<= |student_version_#in~m| |student_version_#in~a|))} is VALID [2022-04-27 11:36:21,620 INFO L290 TraceCheckUtils]: 23: Hoare triple {5613#(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; {5613#(or (< (+ student_version_~l~1 student_version_~a) student_version_~m) (<= |student_version_#in~m| |student_version_#in~a|))} is VALID [2022-04-27 11:36:21,621 INFO L290 TraceCheckUtils]: 22: Hoare triple {5418#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {5613#(or (< (+ student_version_~l~1 student_version_~a) student_version_~m) (<= |student_version_#in~m| |student_version_#in~a|))} is VALID [2022-04-27 11:36:21,621 INFO L272 TraceCheckUtils]: 21: Hoare triple {5435#(<= (+ main_~a~0 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {5418#true} is VALID [2022-04-27 11:36:21,621 INFO L290 TraceCheckUtils]: 20: Hoare triple {5435#(<= (+ main_~a~0 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {5435#(<= (+ main_~a~0 1) main_~m~0)} is VALID [2022-04-27 11:36:21,622 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} {5418#true} #111#return; {5435#(<= (+ main_~a~0 1) main_~m~0)} is VALID [2022-04-27 11:36:21,622 INFO L290 TraceCheckUtils]: 18: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume true; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:21,622 INFO L290 TraceCheckUtils]: 17: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} #res := ~y~0; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:21,622 INFO L290 TraceCheckUtils]: 16: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:21,624 INFO L290 TraceCheckUtils]: 15: Hoare triple {5451#(<= (+ |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; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:21,624 INFO L290 TraceCheckUtils]: 14: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:21,624 INFO L290 TraceCheckUtils]: 13: Hoare triple {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:21,625 INFO L290 TraceCheckUtils]: 12: Hoare triple {5653#(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; {5451#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:21,625 INFO L290 TraceCheckUtils]: 11: Hoare triple {5657#(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; {5653#(or (<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-27 11:36:21,625 INFO L290 TraceCheckUtils]: 10: Hoare triple {5657#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|))} assume !(~b~0 < ~n); {5657#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|))} is VALID [2022-04-27 11:36:21,626 INFO L290 TraceCheckUtils]: 9: Hoare triple {5657#(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; {5657#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|))} is VALID [2022-04-27 11:36:21,626 INFO L290 TraceCheckUtils]: 8: Hoare triple {5418#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {5657#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~m|))} is VALID [2022-04-27 11:36:21,626 INFO L272 TraceCheckUtils]: 7: Hoare triple {5418#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {5418#true} is VALID [2022-04-27 11:36:21,626 INFO L290 TraceCheckUtils]: 6: Hoare triple {5418#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {5418#true} is VALID [2022-04-27 11:36:21,627 INFO L290 TraceCheckUtils]: 5: Hoare triple {5418#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {5418#true} is VALID [2022-04-27 11:36:21,627 INFO L272 TraceCheckUtils]: 4: Hoare triple {5418#true} call #t~ret10 := main(); {5418#true} is VALID [2022-04-27 11:36:21,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5418#true} {5418#true} #117#return; {5418#true} is VALID [2022-04-27 11:36:21,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {5418#true} assume true; {5418#true} is VALID [2022-04-27 11:36:21,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {5418#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {5418#true} is VALID [2022-04-27 11:36:21,627 INFO L272 TraceCheckUtils]: 0: Hoare triple {5418#true} call ULTIMATE.init(); {5418#true} is VALID [2022-04-27 11:36:21,627 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-27 11:36:21,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1007262427] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:21,627 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:21,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9, 9] total 19 [2022-04-27 11:36:21,627 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [637092624] [2022-04-27 11:36:21,628 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:21,628 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 38 [2022-04-27 11:36:21,628 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:21,629 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:21,693 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-27 11:36:21,693 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 11:36:21,693 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:21,694 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 11:36:21,694 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=288, Unknown=0, NotChecked=0, Total=342 [2022-04-27 11:36:21,694 INFO L87 Difference]: Start difference. First operand 84 states and 104 transitions. Second operand has 19 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:22,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:22,483 INFO L93 Difference]: Finished difference Result 92 states and 111 transitions. [2022-04-27 11:36:22,483 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-27 11:36:22,484 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 38 [2022-04-27 11:36:22,484 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:22,484 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:22,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 65 transitions. [2022-04-27 11:36:22,485 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:22,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 65 transitions. [2022-04-27 11:36:22,485 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 65 transitions. [2022-04-27 11:36:22,535 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-27 11:36:22,536 INFO L225 Difference]: With dead ends: 92 [2022-04-27 11:36:22,536 INFO L226 Difference]: Without dead ends: 86 [2022-04-27 11:36:22,536 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 69 SyntacticMatches, 3 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 66 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=108, Invalid=594, Unknown=0, NotChecked=0, Total=702 [2022-04-27 11:36:22,537 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 94 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 380 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 97 SdHoareTripleChecker+Valid, 80 SdHoareTripleChecker+Invalid, 394 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 380 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:22,537 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [97 Valid, 80 Invalid, 394 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 380 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 11:36:22,537 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-27 11:36:22,634 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 84. [2022-04-27 11:36:22,635 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:22,635 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-27 11:36:22,635 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-27 11:36:22,635 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-27 11:36:22,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:22,636 INFO L93 Difference]: Finished difference Result 86 states and 104 transitions. [2022-04-27 11:36:22,637 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 104 transitions. [2022-04-27 11:36:22,637 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:22,637 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:22,637 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-27 11:36:22,637 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-27 11:36:22,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:22,638 INFO L93 Difference]: Finished difference Result 86 states and 104 transitions. [2022-04-27 11:36:22,638 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 104 transitions. [2022-04-27 11:36:22,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:22,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:22,639 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:22,639 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:22,639 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-27 11:36:22,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 102 transitions. [2022-04-27 11:36:22,640 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 102 transitions. Word has length 38 [2022-04-27 11:36:22,640 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:22,640 INFO L495 AbstractCegarLoop]: Abstraction has 84 states and 102 transitions. [2022-04-27 11:36:22,640 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:22,641 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 102 transitions. [2022-04-27 11:36:22,641 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-27 11:36:22,641 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:22,641 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:22,657 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-27 11:36:22,846 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-27 11:36:22,846 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:22,847 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:22,847 INFO L85 PathProgramCache]: Analyzing trace with hash 1109766783, now seen corresponding path program 6 times [2022-04-27 11:36:22,847 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:22,847 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1286530436] [2022-04-27 11:36:22,847 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:22,847 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:22,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:22,876 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:22,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:22,878 INFO L290 TraceCheckUtils]: 0: Hoare triple {6159#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {6129#true} is VALID [2022-04-27 11:36:22,878 INFO L290 TraceCheckUtils]: 1: Hoare triple {6129#true} assume true; {6129#true} is VALID [2022-04-27 11:36:22,878 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6129#true} {6129#true} #117#return; {6129#true} is VALID [2022-04-27 11:36:22,878 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:22,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:22,924 INFO L290 TraceCheckUtils]: 0: Hoare triple {6129#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {6160#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:22,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {6160#(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; {6161#(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-27 11:36:22,925 INFO L290 TraceCheckUtils]: 2: Hoare triple {6161#(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); {6162#(and (= |correct_version_#in~a| correct_version_~a) (<= |correct_version_#in~n| correct_version_~a))} is VALID [2022-04-27 11:36:22,926 INFO L290 TraceCheckUtils]: 3: Hoare triple {6162#(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; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:22,926 INFO L290 TraceCheckUtils]: 4: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~l~0 < ~m); {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:22,926 INFO L290 TraceCheckUtils]: 5: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:22,927 INFO L290 TraceCheckUtils]: 6: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:22,927 INFO L290 TraceCheckUtils]: 7: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:22,927 INFO L290 TraceCheckUtils]: 8: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} #res := ~y~0; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:22,927 INFO L290 TraceCheckUtils]: 9: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume true; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:22,928 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} {6129#true} #111#return; {6145#(<= main_~n~0 main_~a~0)} is VALID [2022-04-27 11:36:22,928 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-27 11:36:22,933 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:23,021 INFO L290 TraceCheckUtils]: 0: Hoare triple {6129#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {6164#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:36:23,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {6164#(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; {6165#(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-27 11:36:23,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {6165#(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; {6166#(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-27 11:36:23,022 INFO L290 TraceCheckUtils]: 3: Hoare triple {6166#(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); {6167#(and (= |student_version_#in~a| student_version_~a) (<= (+ student_version_~a 1) |student_version_#in~n|))} is VALID [2022-04-27 11:36:23,022 INFO L290 TraceCheckUtils]: 4: Hoare triple {6167#(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; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,024 INFO L290 TraceCheckUtils]: 6: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {6168#(<= (+ |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; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {6168#(<= (+ |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; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,025 INFO L290 TraceCheckUtils]: 9: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,025 INFO L290 TraceCheckUtils]: 10: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} #res := ~y~1; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,025 INFO L290 TraceCheckUtils]: 11: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume true; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,026 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} {6145#(<= main_~n~0 main_~a~0)} #113#return; {6130#false} is VALID [2022-04-27 11:36:23,027 INFO L272 TraceCheckUtils]: 0: Hoare triple {6129#true} call ULTIMATE.init(); {6159#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:23,027 INFO L290 TraceCheckUtils]: 1: Hoare triple {6159#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {6129#true} is VALID [2022-04-27 11:36:23,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {6129#true} assume true; {6129#true} is VALID [2022-04-27 11:36:23,027 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6129#true} {6129#true} #117#return; {6129#true} is VALID [2022-04-27 11:36:23,027 INFO L272 TraceCheckUtils]: 4: Hoare triple {6129#true} call #t~ret10 := main(); {6129#true} is VALID [2022-04-27 11:36:23,027 INFO L290 TraceCheckUtils]: 5: Hoare triple {6129#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {6129#true} is VALID [2022-04-27 11:36:23,027 INFO L290 TraceCheckUtils]: 6: Hoare triple {6129#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {6129#true} is VALID [2022-04-27 11:36:23,027 INFO L272 TraceCheckUtils]: 7: Hoare triple {6129#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {6129#true} is VALID [2022-04-27 11:36:23,027 INFO L290 TraceCheckUtils]: 8: Hoare triple {6129#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {6160#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:23,028 INFO L290 TraceCheckUtils]: 9: Hoare triple {6160#(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; {6161#(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-27 11:36:23,028 INFO L290 TraceCheckUtils]: 10: Hoare triple {6161#(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); {6162#(and (= |correct_version_#in~a| correct_version_~a) (<= |correct_version_#in~n| correct_version_~a))} is VALID [2022-04-27 11:36:23,029 INFO L290 TraceCheckUtils]: 11: Hoare triple {6162#(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; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,029 INFO L290 TraceCheckUtils]: 12: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~l~0 < ~m); {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,029 INFO L290 TraceCheckUtils]: 13: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,029 INFO L290 TraceCheckUtils]: 14: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,030 INFO L290 TraceCheckUtils]: 15: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,030 INFO L290 TraceCheckUtils]: 16: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} #res := ~y~0; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,030 INFO L290 TraceCheckUtils]: 17: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume true; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,031 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} {6129#true} #111#return; {6145#(<= main_~n~0 main_~a~0)} is VALID [2022-04-27 11:36:23,031 INFO L290 TraceCheckUtils]: 19: Hoare triple {6145#(<= main_~n~0 main_~a~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {6145#(<= main_~n~0 main_~a~0)} is VALID [2022-04-27 11:36:23,031 INFO L272 TraceCheckUtils]: 20: Hoare triple {6145#(<= main_~n~0 main_~a~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {6129#true} is VALID [2022-04-27 11:36:23,031 INFO L290 TraceCheckUtils]: 21: Hoare triple {6129#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {6164#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:36:23,032 INFO L290 TraceCheckUtils]: 22: Hoare triple {6164#(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; {6165#(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-27 11:36:23,032 INFO L290 TraceCheckUtils]: 23: Hoare triple {6165#(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; {6166#(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-27 11:36:23,033 INFO L290 TraceCheckUtils]: 24: Hoare triple {6166#(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); {6167#(and (= |student_version_#in~a| student_version_~a) (<= (+ student_version_~a 1) |student_version_#in~n|))} is VALID [2022-04-27 11:36:23,033 INFO L290 TraceCheckUtils]: 25: Hoare triple {6167#(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; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,033 INFO L290 TraceCheckUtils]: 26: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,033 INFO L290 TraceCheckUtils]: 27: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,034 INFO L290 TraceCheckUtils]: 28: Hoare triple {6168#(<= (+ |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; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,034 INFO L290 TraceCheckUtils]: 29: Hoare triple {6168#(<= (+ |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; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,034 INFO L290 TraceCheckUtils]: 30: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,034 INFO L290 TraceCheckUtils]: 31: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} #res := ~y~1; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,035 INFO L290 TraceCheckUtils]: 32: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume true; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,035 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} {6145#(<= main_~n~0 main_~a~0)} #113#return; {6130#false} is VALID [2022-04-27 11:36:23,035 INFO L290 TraceCheckUtils]: 34: Hoare triple {6130#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {6130#false} is VALID [2022-04-27 11:36:23,035 INFO L272 TraceCheckUtils]: 35: Hoare triple {6130#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {6130#false} is VALID [2022-04-27 11:36:23,035 INFO L290 TraceCheckUtils]: 36: Hoare triple {6130#false} ~cond := #in~cond; {6130#false} is VALID [2022-04-27 11:36:23,036 INFO L290 TraceCheckUtils]: 37: Hoare triple {6130#false} assume 0 == ~cond; {6130#false} is VALID [2022-04-27 11:36:23,036 INFO L290 TraceCheckUtils]: 38: Hoare triple {6130#false} assume !false; {6130#false} is VALID [2022-04-27 11:36:23,036 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-27 11:36:23,036 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:23,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1286530436] [2022-04-27 11:36:23,036 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1286530436] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:23,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [420716818] [2022-04-27 11:36:23,036 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-27 11:36:23,036 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:23,036 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:23,037 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-27 11:36:23,038 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-27 11:36:23,082 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2022-04-27 11:36:23,082 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:36:23,082 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 11:36:23,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:23,092 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:23,373 INFO L272 TraceCheckUtils]: 0: Hoare triple {6129#true} call ULTIMATE.init(); {6129#true} is VALID [2022-04-27 11:36:23,373 INFO L290 TraceCheckUtils]: 1: Hoare triple {6129#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {6129#true} is VALID [2022-04-27 11:36:23,373 INFO L290 TraceCheckUtils]: 2: Hoare triple {6129#true} assume true; {6129#true} is VALID [2022-04-27 11:36:23,374 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6129#true} {6129#true} #117#return; {6129#true} is VALID [2022-04-27 11:36:23,374 INFO L272 TraceCheckUtils]: 4: Hoare triple {6129#true} call #t~ret10 := main(); {6129#true} is VALID [2022-04-27 11:36:23,378 INFO L290 TraceCheckUtils]: 5: Hoare triple {6129#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {6129#true} is VALID [2022-04-27 11:36:23,378 INFO L290 TraceCheckUtils]: 6: Hoare triple {6129#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {6129#true} is VALID [2022-04-27 11:36:23,378 INFO L272 TraceCheckUtils]: 7: Hoare triple {6129#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {6129#true} is VALID [2022-04-27 11:36:23,379 INFO L290 TraceCheckUtils]: 8: Hoare triple {6129#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {6196#(and (<= correct_version_~b~0 0) (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:36:23,380 INFO L290 TraceCheckUtils]: 9: Hoare triple {6196#(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; {6200#(and (<= correct_version_~b~0 |correct_version_#in~a|) (<= |correct_version_#in~n| correct_version_~n))} is VALID [2022-04-27 11:36:23,380 INFO L290 TraceCheckUtils]: 10: Hoare triple {6200#(and (<= correct_version_~b~0 |correct_version_#in~a|) (<= |correct_version_#in~n| correct_version_~n))} assume !(~b~0 < ~n); {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,380 INFO L290 TraceCheckUtils]: 11: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,381 INFO L290 TraceCheckUtils]: 12: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~l~0 < ~m); {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,381 INFO L290 TraceCheckUtils]: 13: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,381 INFO L290 TraceCheckUtils]: 14: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,382 INFO L290 TraceCheckUtils]: 15: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,382 INFO L290 TraceCheckUtils]: 16: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} #res := ~y~0; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,382 INFO L290 TraceCheckUtils]: 17: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume true; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,383 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} {6129#true} #111#return; {6145#(<= main_~n~0 main_~a~0)} is VALID [2022-04-27 11:36:23,383 INFO L290 TraceCheckUtils]: 19: Hoare triple {6145#(<= main_~n~0 main_~a~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {6145#(<= main_~n~0 main_~a~0)} is VALID [2022-04-27 11:36:23,383 INFO L272 TraceCheckUtils]: 20: Hoare triple {6145#(<= main_~n~0 main_~a~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {6129#true} is VALID [2022-04-27 11:36:23,384 INFO L290 TraceCheckUtils]: 21: Hoare triple {6129#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {6237#(and (<= 0 student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-27 11:36:23,384 INFO L290 TraceCheckUtils]: 22: Hoare triple {6237#(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; {6241#(and (<= student_version_~n |student_version_#in~n|) (<= |student_version_#in~a| student_version_~b~1))} is VALID [2022-04-27 11:36:23,385 INFO L290 TraceCheckUtils]: 23: Hoare triple {6241#(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; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,385 INFO L290 TraceCheckUtils]: 24: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,385 INFO L290 TraceCheckUtils]: 25: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,385 INFO L290 TraceCheckUtils]: 26: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,386 INFO L290 TraceCheckUtils]: 27: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,386 INFO L290 TraceCheckUtils]: 28: Hoare triple {6168#(<= (+ |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; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,386 INFO L290 TraceCheckUtils]: 29: Hoare triple {6168#(<= (+ |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; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,386 INFO L290 TraceCheckUtils]: 30: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,387 INFO L290 TraceCheckUtils]: 31: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} #res := ~y~1; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,387 INFO L290 TraceCheckUtils]: 32: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume true; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,388 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} {6145#(<= main_~n~0 main_~a~0)} #113#return; {6130#false} is VALID [2022-04-27 11:36:23,388 INFO L290 TraceCheckUtils]: 34: Hoare triple {6130#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {6130#false} is VALID [2022-04-27 11:36:23,388 INFO L272 TraceCheckUtils]: 35: Hoare triple {6130#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {6130#false} is VALID [2022-04-27 11:36:23,388 INFO L290 TraceCheckUtils]: 36: Hoare triple {6130#false} ~cond := #in~cond; {6130#false} is VALID [2022-04-27 11:36:23,388 INFO L290 TraceCheckUtils]: 37: Hoare triple {6130#false} assume 0 == ~cond; {6130#false} is VALID [2022-04-27 11:36:23,389 INFO L290 TraceCheckUtils]: 38: Hoare triple {6130#false} assume !false; {6130#false} is VALID [2022-04-27 11:36:23,389 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-27 11:36:23,389 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:23,980 INFO L290 TraceCheckUtils]: 38: Hoare triple {6130#false} assume !false; {6130#false} is VALID [2022-04-27 11:36:23,981 INFO L290 TraceCheckUtils]: 37: Hoare triple {6130#false} assume 0 == ~cond; {6130#false} is VALID [2022-04-27 11:36:23,981 INFO L290 TraceCheckUtils]: 36: Hoare triple {6130#false} ~cond := #in~cond; {6130#false} is VALID [2022-04-27 11:36:23,981 INFO L272 TraceCheckUtils]: 35: Hoare triple {6130#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {6130#false} is VALID [2022-04-27 11:36:23,981 INFO L290 TraceCheckUtils]: 34: Hoare triple {6130#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {6130#false} is VALID [2022-04-27 11:36:23,982 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} {6145#(<= main_~n~0 main_~a~0)} #113#return; {6130#false} is VALID [2022-04-27 11:36:23,982 INFO L290 TraceCheckUtils]: 32: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume true; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,982 INFO L290 TraceCheckUtils]: 31: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} #res := ~y~1; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,983 INFO L290 TraceCheckUtils]: 30: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,983 INFO L290 TraceCheckUtils]: 29: Hoare triple {6168#(<= (+ |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; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,983 INFO L290 TraceCheckUtils]: 28: Hoare triple {6168#(<= (+ |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; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,984 INFO L290 TraceCheckUtils]: 27: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,984 INFO L290 TraceCheckUtils]: 26: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,984 INFO L290 TraceCheckUtils]: 25: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,984 INFO L290 TraceCheckUtils]: 24: Hoare triple {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,985 INFO L290 TraceCheckUtils]: 23: Hoare triple {6338#(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; {6168#(<= (+ |student_version_#in~a| 1) |student_version_#in~n|)} is VALID [2022-04-27 11:36:23,985 INFO L290 TraceCheckUtils]: 22: Hoare triple {6342#(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; {6338#(or (not (< student_version_~b~1 student_version_~n)) (<= (+ |student_version_#in~a| 1) |student_version_#in~n|))} is VALID [2022-04-27 11:36:23,986 INFO L290 TraceCheckUtils]: 21: Hoare triple {6129#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {6342#(or (<= student_version_~n (+ student_version_~b~1 student_version_~a)) (<= (+ |student_version_#in~a| 1) |student_version_#in~n|))} is VALID [2022-04-27 11:36:23,986 INFO L272 TraceCheckUtils]: 20: Hoare triple {6145#(<= main_~n~0 main_~a~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {6129#true} is VALID [2022-04-27 11:36:23,986 INFO L290 TraceCheckUtils]: 19: Hoare triple {6145#(<= main_~n~0 main_~a~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {6145#(<= main_~n~0 main_~a~0)} is VALID [2022-04-27 11:36:23,987 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} {6129#true} #111#return; {6145#(<= main_~n~0 main_~a~0)} is VALID [2022-04-27 11:36:23,987 INFO L290 TraceCheckUtils]: 17: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume true; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,988 INFO L290 TraceCheckUtils]: 16: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} #res := ~y~0; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,988 INFO L290 TraceCheckUtils]: 15: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~x~0 < ~i~0); {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,988 INFO L290 TraceCheckUtils]: 14: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,989 INFO L290 TraceCheckUtils]: 13: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} ~x~0 := 0;~y~0 := 0; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,989 INFO L290 TraceCheckUtils]: 12: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !(~l~0 < ~m); {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,989 INFO L290 TraceCheckUtils]: 11: Hoare triple {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,990 INFO L290 TraceCheckUtils]: 10: Hoare triple {6379#(or (<= |correct_version_#in~n| |correct_version_#in~a|) (< correct_version_~b~0 correct_version_~n))} assume !(~b~0 < ~n); {6163#(<= |correct_version_#in~n| |correct_version_#in~a|)} is VALID [2022-04-27 11:36:23,990 INFO L290 TraceCheckUtils]: 9: Hoare triple {6383#(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; {6379#(or (<= |correct_version_#in~n| |correct_version_#in~a|) (< correct_version_~b~0 correct_version_~n))} is VALID [2022-04-27 11:36:23,991 INFO L290 TraceCheckUtils]: 8: Hoare triple {6129#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {6383#(or (<= |correct_version_#in~n| |correct_version_#in~a|) (< (+ correct_version_~b~0 correct_version_~a) correct_version_~n))} is VALID [2022-04-27 11:36:23,991 INFO L272 TraceCheckUtils]: 7: Hoare triple {6129#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {6129#true} is VALID [2022-04-27 11:36:23,991 INFO L290 TraceCheckUtils]: 6: Hoare triple {6129#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {6129#true} is VALID [2022-04-27 11:36:23,991 INFO L290 TraceCheckUtils]: 5: Hoare triple {6129#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {6129#true} is VALID [2022-04-27 11:36:23,991 INFO L272 TraceCheckUtils]: 4: Hoare triple {6129#true} call #t~ret10 := main(); {6129#true} is VALID [2022-04-27 11:36:23,991 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6129#true} {6129#true} #117#return; {6129#true} is VALID [2022-04-27 11:36:23,991 INFO L290 TraceCheckUtils]: 2: Hoare triple {6129#true} assume true; {6129#true} is VALID [2022-04-27 11:36:23,991 INFO L290 TraceCheckUtils]: 1: Hoare triple {6129#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {6129#true} is VALID [2022-04-27 11:36:23,991 INFO L272 TraceCheckUtils]: 0: Hoare triple {6129#true} call ULTIMATE.init(); {6129#true} is VALID [2022-04-27 11:36:23,992 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-27 11:36:23,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [420716818] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:23,992 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:23,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9, 9] total 21 [2022-04-27 11:36:23,992 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2040255741] [2022-04-27 11:36:23,992 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:23,992 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-04-27 11:36:23,993 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:23,993 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:24,029 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:36:24,029 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-27 11:36:24,029 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:24,029 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-27 11:36:24,029 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=355, Unknown=0, NotChecked=0, Total=420 [2022-04-27 11:36:24,030 INFO L87 Difference]: Start difference. First operand 84 states and 102 transitions. Second operand has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:25,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:25,129 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-27 11:36:25,129 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-27 11:36:25,130 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-04-27 11:36:25,130 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:25,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:25,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2022-04-27 11:36:25,131 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:25,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2022-04-27 11:36:25,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 70 transitions. [2022-04-27 11:36:25,188 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-27 11:36:25,189 INFO L225 Difference]: With dead ends: 108 [2022-04-27 11:36:25,189 INFO L226 Difference]: Without dead ends: 94 [2022-04-27 11:36:25,190 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 72 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 82 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=124, Invalid=688, Unknown=0, NotChecked=0, Total=812 [2022-04-27 11:36:25,190 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 94 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 592 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 97 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 607 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 592 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:25,190 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [97 Valid, 109 Invalid, 607 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 592 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 11:36:25,191 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-27 11:36:25,282 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 89. [2022-04-27 11:36:25,282 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:25,282 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-27 11:36:25,283 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-27 11:36:25,283 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-27 11:36:25,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:25,284 INFO L93 Difference]: Finished difference Result 94 states and 112 transitions. [2022-04-27 11:36:25,284 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 112 transitions. [2022-04-27 11:36:25,285 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:25,285 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:25,285 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-27 11:36:25,285 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-27 11:36:25,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:25,287 INFO L93 Difference]: Finished difference Result 94 states and 112 transitions. [2022-04-27 11:36:25,287 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 112 transitions. [2022-04-27 11:36:25,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:25,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:25,287 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:25,287 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:25,287 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-27 11:36:25,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 107 transitions. [2022-04-27 11:36:25,288 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 107 transitions. Word has length 39 [2022-04-27 11:36:25,289 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:25,289 INFO L495 AbstractCegarLoop]: Abstraction has 89 states and 107 transitions. [2022-04-27 11:36:25,289 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:25,289 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 107 transitions. [2022-04-27 11:36:25,289 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-27 11:36:25,289 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:25,289 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:25,311 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-27 11:36:25,505 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-27 11:36:25,508 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:25,508 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:25,508 INFO L85 PathProgramCache]: Analyzing trace with hash 1701022282, now seen corresponding path program 7 times [2022-04-27 11:36:25,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:25,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1927946216] [2022-04-27 11:36:25,508 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:25,508 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:25,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:25,579 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:25,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:25,582 INFO L290 TraceCheckUtils]: 0: Hoare triple {6922#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {6887#true} is VALID [2022-04-27 11:36:25,582 INFO L290 TraceCheckUtils]: 1: Hoare triple {6887#true} assume true; {6887#true} is VALID [2022-04-27 11:36:25,582 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6887#true} {6887#true} #117#return; {6887#true} is VALID [2022-04-27 11:36:25,582 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:25,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:25,644 INFO L290 TraceCheckUtils]: 0: Hoare triple {6887#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:25,644 INFO L290 TraceCheckUtils]: 1: Hoare triple {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:25,644 INFO L290 TraceCheckUtils]: 2: Hoare triple {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:25,645 INFO L290 TraceCheckUtils]: 3: Hoare triple {6923#(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; {6924#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:25,645 INFO L290 TraceCheckUtils]: 4: Hoare triple {6924#(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; {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:36:25,645 INFO L290 TraceCheckUtils]: 5: Hoare triple {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:36:25,646 INFO L290 TraceCheckUtils]: 6: Hoare triple {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {6926#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:36:25,646 INFO L290 TraceCheckUtils]: 7: Hoare triple {6926#(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; {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:25,646 INFO L290 TraceCheckUtils]: 8: Hoare triple {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:25,647 INFO L290 TraceCheckUtils]: 9: Hoare triple {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:25,647 INFO L290 TraceCheckUtils]: 10: Hoare triple {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:25,647 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {6887#true} #111#return; {6904#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-27 11:36:25,648 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-27 11:36:25,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:25,790 INFO L290 TraceCheckUtils]: 0: Hoare triple {6887#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:25,791 INFO L290 TraceCheckUtils]: 1: Hoare triple {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:25,791 INFO L290 TraceCheckUtils]: 2: Hoare triple {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:25,791 INFO L290 TraceCheckUtils]: 3: Hoare triple {6929#(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; {6930#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:25,792 INFO L290 TraceCheckUtils]: 4: Hoare triple {6930#(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; {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:36:25,792 INFO L290 TraceCheckUtils]: 5: Hoare triple {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:36:25,793 INFO L290 TraceCheckUtils]: 6: Hoare triple {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {6932#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} is VALID [2022-04-27 11:36:25,793 INFO L290 TraceCheckUtils]: 7: Hoare triple {6932#(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; {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:25,793 INFO L290 TraceCheckUtils]: 8: Hoare triple {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:25,794 INFO L290 TraceCheckUtils]: 9: Hoare triple {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:25,794 INFO L290 TraceCheckUtils]: 10: Hoare triple {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:25,795 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {6905#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {6918#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:36:25,799 INFO L272 TraceCheckUtils]: 0: Hoare triple {6887#true} call ULTIMATE.init(); {6922#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:25,799 INFO L290 TraceCheckUtils]: 1: Hoare triple {6922#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {6887#true} is VALID [2022-04-27 11:36:25,799 INFO L290 TraceCheckUtils]: 2: Hoare triple {6887#true} assume true; {6887#true} is VALID [2022-04-27 11:36:25,799 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6887#true} {6887#true} #117#return; {6887#true} is VALID [2022-04-27 11:36:25,799 INFO L272 TraceCheckUtils]: 4: Hoare triple {6887#true} call #t~ret10 := main(); {6887#true} is VALID [2022-04-27 11:36:25,799 INFO L290 TraceCheckUtils]: 5: Hoare triple {6887#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {6887#true} is VALID [2022-04-27 11:36:25,799 INFO L290 TraceCheckUtils]: 6: Hoare triple {6887#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {6887#true} is VALID [2022-04-27 11:36:25,799 INFO L272 TraceCheckUtils]: 7: Hoare triple {6887#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {6887#true} is VALID [2022-04-27 11:36:25,800 INFO L290 TraceCheckUtils]: 8: Hoare triple {6887#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:25,800 INFO L290 TraceCheckUtils]: 9: Hoare triple {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:25,800 INFO L290 TraceCheckUtils]: 10: Hoare triple {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:25,801 INFO L290 TraceCheckUtils]: 11: Hoare triple {6923#(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; {6924#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:25,801 INFO L290 TraceCheckUtils]: 12: Hoare triple {6924#(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; {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:36:25,802 INFO L290 TraceCheckUtils]: 13: Hoare triple {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:36:25,802 INFO L290 TraceCheckUtils]: 14: Hoare triple {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {6926#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:36:25,803 INFO L290 TraceCheckUtils]: 15: Hoare triple {6926#(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; {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:25,803 INFO L290 TraceCheckUtils]: 16: Hoare triple {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:25,803 INFO L290 TraceCheckUtils]: 17: Hoare triple {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:25,804 INFO L290 TraceCheckUtils]: 18: Hoare triple {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:25,805 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {6887#true} #111#return; {6904#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-27 11:36:25,805 INFO L290 TraceCheckUtils]: 20: Hoare triple {6904#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {6905#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} is VALID [2022-04-27 11:36:25,805 INFO L272 TraceCheckUtils]: 21: Hoare triple {6905#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {6887#true} is VALID [2022-04-27 11:36:25,805 INFO L290 TraceCheckUtils]: 22: Hoare triple {6887#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:25,806 INFO L290 TraceCheckUtils]: 23: Hoare triple {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:25,806 INFO L290 TraceCheckUtils]: 24: Hoare triple {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:25,806 INFO L290 TraceCheckUtils]: 25: Hoare triple {6929#(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; {6930#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:25,807 INFO L290 TraceCheckUtils]: 26: Hoare triple {6930#(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; {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:36:25,807 INFO L290 TraceCheckUtils]: 27: Hoare triple {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:36:25,808 INFO L290 TraceCheckUtils]: 28: Hoare triple {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {6932#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} is VALID [2022-04-27 11:36:25,808 INFO L290 TraceCheckUtils]: 29: Hoare triple {6932#(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; {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:25,808 INFO L290 TraceCheckUtils]: 30: Hoare triple {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:25,809 INFO L290 TraceCheckUtils]: 31: Hoare triple {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:25,809 INFO L290 TraceCheckUtils]: 32: Hoare triple {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:25,810 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {6905#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {6918#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:36:25,811 INFO L290 TraceCheckUtils]: 34: Hoare triple {6918#(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; {6919#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:36:25,811 INFO L272 TraceCheckUtils]: 35: Hoare triple {6919#(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)); {6920#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:36:25,812 INFO L290 TraceCheckUtils]: 36: Hoare triple {6920#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {6921#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:36:25,812 INFO L290 TraceCheckUtils]: 37: Hoare triple {6921#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {6888#false} is VALID [2022-04-27 11:36:25,812 INFO L290 TraceCheckUtils]: 38: Hoare triple {6888#false} assume !false; {6888#false} is VALID [2022-04-27 11:36:25,812 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-27 11:36:25,812 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:25,813 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1927946216] [2022-04-27 11:36:25,813 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1927946216] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:25,813 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1570926767] [2022-04-27 11:36:25,813 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-04-27 11:36:25,813 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:25,813 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:25,824 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-27 11:36:25,826 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-27 11:36:25,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:25,870 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-27 11:36:25,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:25,885 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:26,428 INFO L272 TraceCheckUtils]: 0: Hoare triple {6887#true} call ULTIMATE.init(); {6887#true} is VALID [2022-04-27 11:36:26,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {6887#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {6887#true} is VALID [2022-04-27 11:36:26,429 INFO L290 TraceCheckUtils]: 2: Hoare triple {6887#true} assume true; {6887#true} is VALID [2022-04-27 11:36:26,429 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6887#true} {6887#true} #117#return; {6887#true} is VALID [2022-04-27 11:36:26,429 INFO L272 TraceCheckUtils]: 4: Hoare triple {6887#true} call #t~ret10 := main(); {6887#true} is VALID [2022-04-27 11:36:26,429 INFO L290 TraceCheckUtils]: 5: Hoare triple {6887#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {6887#true} is VALID [2022-04-27 11:36:26,429 INFO L290 TraceCheckUtils]: 6: Hoare triple {6887#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {6887#true} is VALID [2022-04-27 11:36:26,429 INFO L272 TraceCheckUtils]: 7: Hoare triple {6887#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {6887#true} is VALID [2022-04-27 11:36:26,429 INFO L290 TraceCheckUtils]: 8: Hoare triple {6887#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:26,430 INFO L290 TraceCheckUtils]: 9: Hoare triple {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:26,430 INFO L290 TraceCheckUtils]: 10: Hoare triple {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:26,430 INFO L290 TraceCheckUtils]: 11: Hoare triple {6923#(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; {6924#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:26,431 INFO L290 TraceCheckUtils]: 12: Hoare triple {6924#(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; {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:36:26,431 INFO L290 TraceCheckUtils]: 13: Hoare triple {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:36:26,432 INFO L290 TraceCheckUtils]: 14: Hoare triple {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {6980#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 0))} is VALID [2022-04-27 11:36:26,432 INFO L290 TraceCheckUtils]: 15: Hoare triple {6980#(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; {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:26,432 INFO L290 TraceCheckUtils]: 16: Hoare triple {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:26,433 INFO L290 TraceCheckUtils]: 17: Hoare triple {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:26,433 INFO L290 TraceCheckUtils]: 18: Hoare triple {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:26,434 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {6887#true} #111#return; {6904#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-27 11:36:26,434 INFO L290 TraceCheckUtils]: 20: Hoare triple {6904#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {6905#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} is VALID [2022-04-27 11:36:26,434 INFO L272 TraceCheckUtils]: 21: Hoare triple {6905#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {6887#true} is VALID [2022-04-27 11:36:26,435 INFO L290 TraceCheckUtils]: 22: Hoare triple {6887#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:26,435 INFO L290 TraceCheckUtils]: 23: Hoare triple {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:26,435 INFO L290 TraceCheckUtils]: 24: Hoare triple {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:26,436 INFO L290 TraceCheckUtils]: 25: Hoare triple {6929#(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; {6930#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:26,436 INFO L290 TraceCheckUtils]: 26: Hoare triple {6930#(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; {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:36:26,437 INFO L290 TraceCheckUtils]: 27: Hoare triple {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:36:26,437 INFO L290 TraceCheckUtils]: 28: Hoare triple {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {7023#(and (= student_version_~y~1 0) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:36:26,437 INFO L290 TraceCheckUtils]: 29: Hoare triple {7023#(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; {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:26,438 INFO L290 TraceCheckUtils]: 30: Hoare triple {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:26,438 INFO L290 TraceCheckUtils]: 31: Hoare triple {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:26,438 INFO L290 TraceCheckUtils]: 32: Hoare triple {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:26,439 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {6905#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {7039#(and (<= |main_#t~ret9| 2) (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2) (<= 2 |main_#t~ret9|))} is VALID [2022-04-27 11:36:26,440 INFO L290 TraceCheckUtils]: 34: Hoare triple {7039#(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; {7043#(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-27 11:36:26,440 INFO L272 TraceCheckUtils]: 35: Hoare triple {7043#(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)); {7047#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:36:26,440 INFO L290 TraceCheckUtils]: 36: Hoare triple {7047#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7051#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:36:26,441 INFO L290 TraceCheckUtils]: 37: Hoare triple {7051#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6888#false} is VALID [2022-04-27 11:36:26,441 INFO L290 TraceCheckUtils]: 38: Hoare triple {6888#false} assume !false; {6888#false} is VALID [2022-04-27 11:36:26,441 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-27 11:36:26,441 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:26,801 INFO L290 TraceCheckUtils]: 38: Hoare triple {6888#false} assume !false; {6888#false} is VALID [2022-04-27 11:36:26,801 INFO L290 TraceCheckUtils]: 37: Hoare triple {7051#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6888#false} is VALID [2022-04-27 11:36:26,801 INFO L290 TraceCheckUtils]: 36: Hoare triple {7047#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7051#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:36:26,802 INFO L272 TraceCheckUtils]: 35: Hoare triple {6919#(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)); {7047#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:36:26,802 INFO L290 TraceCheckUtils]: 34: Hoare triple {6918#(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; {6919#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:36:26,803 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {6905#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {6918#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:36:26,804 INFO L290 TraceCheckUtils]: 32: Hoare triple {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:26,804 INFO L290 TraceCheckUtils]: 31: Hoare triple {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {6934#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:26,804 INFO L290 TraceCheckUtils]: 30: Hoare triple {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:26,805 INFO L290 TraceCheckUtils]: 29: Hoare triple {6932#(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; {6933#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:26,805 INFO L290 TraceCheckUtils]: 28: Hoare triple {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {6932#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} is VALID [2022-04-27 11:36:26,805 INFO L290 TraceCheckUtils]: 27: Hoare triple {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:36:26,806 INFO L290 TraceCheckUtils]: 26: Hoare triple {6930#(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; {6931#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:36:26,806 INFO L290 TraceCheckUtils]: 25: Hoare triple {6929#(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; {6930#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:26,807 INFO L290 TraceCheckUtils]: 24: Hoare triple {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:26,807 INFO L290 TraceCheckUtils]: 23: Hoare triple {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:26,807 INFO L290 TraceCheckUtils]: 22: Hoare triple {6887#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {6929#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:26,808 INFO L272 TraceCheckUtils]: 21: Hoare triple {6905#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {6887#true} is VALID [2022-04-27 11:36:26,808 INFO L290 TraceCheckUtils]: 20: Hoare triple {6904#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {6905#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} is VALID [2022-04-27 11:36:26,809 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {6887#true} #111#return; {6904#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-27 11:36:26,809 INFO L290 TraceCheckUtils]: 18: Hoare triple {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:26,809 INFO L290 TraceCheckUtils]: 17: Hoare triple {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {6928#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:26,810 INFO L290 TraceCheckUtils]: 16: Hoare triple {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:26,810 INFO L290 TraceCheckUtils]: 15: Hoare triple {6926#(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; {6927#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:26,810 INFO L290 TraceCheckUtils]: 14: Hoare triple {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {6926#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:36:26,811 INFO L290 TraceCheckUtils]: 13: Hoare triple {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:36:26,811 INFO L290 TraceCheckUtils]: 12: Hoare triple {6924#(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; {6925#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:36:26,812 INFO L290 TraceCheckUtils]: 11: Hoare triple {6923#(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; {6924#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:26,812 INFO L290 TraceCheckUtils]: 10: Hoare triple {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:26,812 INFO L290 TraceCheckUtils]: 9: Hoare triple {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:26,813 INFO L290 TraceCheckUtils]: 8: Hoare triple {6887#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {6923#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:26,813 INFO L272 TraceCheckUtils]: 7: Hoare triple {6887#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {6887#true} is VALID [2022-04-27 11:36:26,813 INFO L290 TraceCheckUtils]: 6: Hoare triple {6887#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {6887#true} is VALID [2022-04-27 11:36:26,813 INFO L290 TraceCheckUtils]: 5: Hoare triple {6887#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {6887#true} is VALID [2022-04-27 11:36:26,813 INFO L272 TraceCheckUtils]: 4: Hoare triple {6887#true} call #t~ret10 := main(); {6887#true} is VALID [2022-04-27 11:36:26,813 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6887#true} {6887#true} #117#return; {6887#true} is VALID [2022-04-27 11:36:26,813 INFO L290 TraceCheckUtils]: 2: Hoare triple {6887#true} assume true; {6887#true} is VALID [2022-04-27 11:36:26,813 INFO L290 TraceCheckUtils]: 1: Hoare triple {6887#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {6887#true} is VALID [2022-04-27 11:36:26,813 INFO L272 TraceCheckUtils]: 0: Hoare triple {6887#true} call ULTIMATE.init(); {6887#true} is VALID [2022-04-27 11:36:26,813 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-27 11:36:26,813 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1570926767] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:26,813 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:26,814 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 27 [2022-04-27 11:36:26,814 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [341370937] [2022-04-27 11:36:26,814 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:26,814 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 24 states have (on average 1.625) internal successors, (39), 21 states have internal predecessors, (39), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 39 [2022-04-27 11:36:26,814 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:26,814 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 24 states have (on average 1.625) internal successors, (39), 21 states have internal predecessors, (39), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:26,846 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-27 11:36:26,846 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-27 11:36:26,847 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:26,847 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-27 11:36:26,847 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=641, Unknown=0, NotChecked=0, Total=702 [2022-04-27 11:36:26,847 INFO L87 Difference]: Start difference. First operand 89 states and 107 transitions. Second operand has 27 states, 24 states have (on average 1.625) internal successors, (39), 21 states have internal predecessors, (39), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:28,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:28,829 INFO L93 Difference]: Finished difference Result 137 states and 170 transitions. [2022-04-27 11:36:28,829 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-27 11:36:28,829 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 24 states have (on average 1.625) internal successors, (39), 21 states have internal predecessors, (39), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 39 [2022-04-27 11:36:28,829 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:28,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 24 states have (on average 1.625) internal successors, (39), 21 states have internal predecessors, (39), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:28,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 95 transitions. [2022-04-27 11:36:28,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 24 states have (on average 1.625) internal successors, (39), 21 states have internal predecessors, (39), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:28,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 95 transitions. [2022-04-27 11:36:28,832 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 95 transitions. [2022-04-27 11:36:28,902 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-27 11:36:28,903 INFO L225 Difference]: With dead ends: 137 [2022-04-27 11:36:28,903 INFO L226 Difference]: Without dead ends: 131 [2022-04-27 11:36:28,904 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 72 SyntacticMatches, 5 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 292 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=169, Invalid=1901, Unknown=0, NotChecked=0, Total=2070 [2022-04-27 11:36:28,904 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 85 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 1148 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 88 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 1180 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 1148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:28,905 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [88 Valid, 148 Invalid, 1180 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 1148 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-27 11:36:28,905 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-27 11:36:29,049 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 121. [2022-04-27 11:36:29,049 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:29,050 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-27 11:36:29,050 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-27 11:36:29,050 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-27 11:36:29,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:29,052 INFO L93 Difference]: Finished difference Result 131 states and 162 transitions. [2022-04-27 11:36:29,052 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 162 transitions. [2022-04-27 11:36:29,053 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:29,053 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:29,053 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-27 11:36:29,053 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-27 11:36:29,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:29,055 INFO L93 Difference]: Finished difference Result 131 states and 162 transitions. [2022-04-27 11:36:29,055 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 162 transitions. [2022-04-27 11:36:29,056 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:29,056 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:29,056 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:29,056 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:29,056 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-27 11:36:29,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 149 transitions. [2022-04-27 11:36:29,058 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 149 transitions. Word has length 39 [2022-04-27 11:36:29,058 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:29,059 INFO L495 AbstractCegarLoop]: Abstraction has 121 states and 149 transitions. [2022-04-27 11:36:29,059 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 24 states have (on average 1.625) internal successors, (39), 21 states have internal predecessors, (39), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:29,059 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 149 transitions. [2022-04-27 11:36:29,060 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-27 11:36:29,060 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:29,060 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:29,089 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-27 11:36:29,277 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:29,277 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:29,279 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:29,279 INFO L85 PathProgramCache]: Analyzing trace with hash 1844910907, now seen corresponding path program 8 times [2022-04-27 11:36:29,279 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:29,279 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2107139415] [2022-04-27 11:36:29,279 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:29,279 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:29,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:29,310 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:29,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:29,312 INFO L290 TraceCheckUtils]: 0: Hoare triple {7858#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {7828#true} is VALID [2022-04-27 11:36:29,313 INFO L290 TraceCheckUtils]: 1: Hoare triple {7828#true} assume true; {7828#true} is VALID [2022-04-27 11:36:29,313 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7828#true} {7828#true} #117#return; {7828#true} is VALID [2022-04-27 11:36:29,313 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:29,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:29,371 INFO L290 TraceCheckUtils]: 0: Hoare triple {7828#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {7859#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:29,371 INFO L290 TraceCheckUtils]: 1: Hoare triple {7859#(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; {7860#(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-27 11:36:29,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {7860#(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; {7861#(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-27 11:36:29,372 INFO L290 TraceCheckUtils]: 3: Hoare triple {7861#(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); {7862#(and (<= (+ correct_version_~a 1) |correct_version_#in~n|) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:29,373 INFO L290 TraceCheckUtils]: 4: Hoare triple {7862#(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; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,373 INFO L290 TraceCheckUtils]: 5: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,373 INFO L290 TraceCheckUtils]: 6: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,374 INFO L290 TraceCheckUtils]: 7: Hoare triple {7863#(<= (+ |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; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,374 INFO L290 TraceCheckUtils]: 8: Hoare triple {7863#(<= (+ |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; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,374 INFO L290 TraceCheckUtils]: 9: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,374 INFO L290 TraceCheckUtils]: 10: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} #res := ~y~0; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,375 INFO L290 TraceCheckUtils]: 11: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume true; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,376 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} {7828#true} #111#return; {7846#(<= (+ main_~a~0 1) main_~n~0)} is VALID [2022-04-27 11:36:29,376 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-27 11:36:29,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:29,434 INFO L290 TraceCheckUtils]: 0: Hoare triple {7828#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {7864#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:36:29,434 INFO L290 TraceCheckUtils]: 1: Hoare triple {7864#(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; {7865#(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-27 11:36:29,435 INFO L290 TraceCheckUtils]: 2: Hoare triple {7865#(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); {7866#(and (<= |student_version_#in~n| student_version_~a) (= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:36:29,435 INFO L290 TraceCheckUtils]: 3: Hoare triple {7866#(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; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,435 INFO L290 TraceCheckUtils]: 4: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~l~1 < ~m); {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,436 INFO L290 TraceCheckUtils]: 5: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,436 INFO L290 TraceCheckUtils]: 6: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,436 INFO L290 TraceCheckUtils]: 7: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,436 INFO L290 TraceCheckUtils]: 8: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} #res := ~y~1; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,437 INFO L290 TraceCheckUtils]: 9: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume true; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,437 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} {7846#(<= (+ main_~a~0 1) main_~n~0)} #113#return; {7829#false} is VALID [2022-04-27 11:36:29,438 INFO L272 TraceCheckUtils]: 0: Hoare triple {7828#true} call ULTIMATE.init(); {7858#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:29,438 INFO L290 TraceCheckUtils]: 1: Hoare triple {7858#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {7828#true} is VALID [2022-04-27 11:36:29,438 INFO L290 TraceCheckUtils]: 2: Hoare triple {7828#true} assume true; {7828#true} is VALID [2022-04-27 11:36:29,438 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7828#true} {7828#true} #117#return; {7828#true} is VALID [2022-04-27 11:36:29,438 INFO L272 TraceCheckUtils]: 4: Hoare triple {7828#true} call #t~ret10 := main(); {7828#true} is VALID [2022-04-27 11:36:29,438 INFO L290 TraceCheckUtils]: 5: Hoare triple {7828#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {7828#true} is VALID [2022-04-27 11:36:29,438 INFO L290 TraceCheckUtils]: 6: Hoare triple {7828#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {7828#true} is VALID [2022-04-27 11:36:29,438 INFO L272 TraceCheckUtils]: 7: Hoare triple {7828#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {7828#true} is VALID [2022-04-27 11:36:29,439 INFO L290 TraceCheckUtils]: 8: Hoare triple {7828#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {7859#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:29,439 INFO L290 TraceCheckUtils]: 9: Hoare triple {7859#(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; {7860#(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-27 11:36:29,440 INFO L290 TraceCheckUtils]: 10: Hoare triple {7860#(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; {7861#(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-27 11:36:29,440 INFO L290 TraceCheckUtils]: 11: Hoare triple {7861#(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); {7862#(and (<= (+ correct_version_~a 1) |correct_version_#in~n|) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:29,440 INFO L290 TraceCheckUtils]: 12: Hoare triple {7862#(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; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,441 INFO L290 TraceCheckUtils]: 13: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,441 INFO L290 TraceCheckUtils]: 14: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,441 INFO L290 TraceCheckUtils]: 15: Hoare triple {7863#(<= (+ |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; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,441 INFO L290 TraceCheckUtils]: 16: Hoare triple {7863#(<= (+ |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; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,442 INFO L290 TraceCheckUtils]: 17: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,442 INFO L290 TraceCheckUtils]: 18: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} #res := ~y~0; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,442 INFO L290 TraceCheckUtils]: 19: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume true; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,443 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} {7828#true} #111#return; {7846#(<= (+ main_~a~0 1) main_~n~0)} is VALID [2022-04-27 11:36:29,443 INFO L290 TraceCheckUtils]: 21: Hoare triple {7846#(<= (+ main_~a~0 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {7846#(<= (+ main_~a~0 1) main_~n~0)} is VALID [2022-04-27 11:36:29,443 INFO L272 TraceCheckUtils]: 22: Hoare triple {7846#(<= (+ main_~a~0 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {7828#true} is VALID [2022-04-27 11:36:29,444 INFO L290 TraceCheckUtils]: 23: Hoare triple {7828#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {7864#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:36:29,444 INFO L290 TraceCheckUtils]: 24: Hoare triple {7864#(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; {7865#(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-27 11:36:29,445 INFO L290 TraceCheckUtils]: 25: Hoare triple {7865#(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); {7866#(and (<= |student_version_#in~n| student_version_~a) (= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:36:29,445 INFO L290 TraceCheckUtils]: 26: Hoare triple {7866#(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; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,445 INFO L290 TraceCheckUtils]: 27: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~l~1 < ~m); {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,446 INFO L290 TraceCheckUtils]: 28: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,446 INFO L290 TraceCheckUtils]: 29: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,446 INFO L290 TraceCheckUtils]: 30: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,447 INFO L290 TraceCheckUtils]: 31: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} #res := ~y~1; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,447 INFO L290 TraceCheckUtils]: 32: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume true; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,448 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} {7846#(<= (+ main_~a~0 1) main_~n~0)} #113#return; {7829#false} is VALID [2022-04-27 11:36:29,448 INFO L290 TraceCheckUtils]: 34: Hoare triple {7829#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {7829#false} is VALID [2022-04-27 11:36:29,448 INFO L272 TraceCheckUtils]: 35: Hoare triple {7829#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {7829#false} is VALID [2022-04-27 11:36:29,448 INFO L290 TraceCheckUtils]: 36: Hoare triple {7829#false} ~cond := #in~cond; {7829#false} is VALID [2022-04-27 11:36:29,448 INFO L290 TraceCheckUtils]: 37: Hoare triple {7829#false} assume 0 == ~cond; {7829#false} is VALID [2022-04-27 11:36:29,448 INFO L290 TraceCheckUtils]: 38: Hoare triple {7829#false} assume !false; {7829#false} is VALID [2022-04-27 11:36:29,448 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-27 11:36:29,449 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:29,449 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2107139415] [2022-04-27 11:36:29,449 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2107139415] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:29,449 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1915167915] [2022-04-27 11:36:29,449 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:36:29,449 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:29,449 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:29,450 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-27 11:36:29,451 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-27 11:36:29,506 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:36:29,506 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:36:29,507 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 11:36:29,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:29,518 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:29,795 INFO L272 TraceCheckUtils]: 0: Hoare triple {7828#true} call ULTIMATE.init(); {7828#true} is VALID [2022-04-27 11:36:29,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {7828#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {7828#true} is VALID [2022-04-27 11:36:29,795 INFO L290 TraceCheckUtils]: 2: Hoare triple {7828#true} assume true; {7828#true} is VALID [2022-04-27 11:36:29,795 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7828#true} {7828#true} #117#return; {7828#true} is VALID [2022-04-27 11:36:29,795 INFO L272 TraceCheckUtils]: 4: Hoare triple {7828#true} call #t~ret10 := main(); {7828#true} is VALID [2022-04-27 11:36:29,795 INFO L290 TraceCheckUtils]: 5: Hoare triple {7828#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {7828#true} is VALID [2022-04-27 11:36:29,796 INFO L290 TraceCheckUtils]: 6: Hoare triple {7828#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {7828#true} is VALID [2022-04-27 11:36:29,796 INFO L272 TraceCheckUtils]: 7: Hoare triple {7828#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {7828#true} is VALID [2022-04-27 11:36:29,796 INFO L290 TraceCheckUtils]: 8: Hoare triple {7828#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {7895#(and (<= correct_version_~n |correct_version_#in~n|) (<= 0 correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:29,796 INFO L290 TraceCheckUtils]: 9: Hoare triple {7895#(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; {7899#(and (<= correct_version_~n |correct_version_#in~n|) (<= |correct_version_#in~a| correct_version_~b~0))} is VALID [2022-04-27 11:36:29,797 INFO L290 TraceCheckUtils]: 10: Hoare triple {7899#(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; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,797 INFO L290 TraceCheckUtils]: 11: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,797 INFO L290 TraceCheckUtils]: 12: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,798 INFO L290 TraceCheckUtils]: 13: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,798 INFO L290 TraceCheckUtils]: 14: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,798 INFO L290 TraceCheckUtils]: 15: Hoare triple {7863#(<= (+ |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; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,798 INFO L290 TraceCheckUtils]: 16: Hoare triple {7863#(<= (+ |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; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,799 INFO L290 TraceCheckUtils]: 17: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,799 INFO L290 TraceCheckUtils]: 18: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} #res := ~y~0; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,799 INFO L290 TraceCheckUtils]: 19: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume true; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:29,800 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} {7828#true} #111#return; {7846#(<= (+ main_~a~0 1) main_~n~0)} is VALID [2022-04-27 11:36:29,800 INFO L290 TraceCheckUtils]: 21: Hoare triple {7846#(<= (+ main_~a~0 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {7846#(<= (+ main_~a~0 1) main_~n~0)} is VALID [2022-04-27 11:36:29,800 INFO L272 TraceCheckUtils]: 22: Hoare triple {7846#(<= (+ main_~a~0 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {7828#true} is VALID [2022-04-27 11:36:29,801 INFO L290 TraceCheckUtils]: 23: Hoare triple {7828#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {7942#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 0) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:36:29,801 INFO L290 TraceCheckUtils]: 24: Hoare triple {7942#(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; {7946#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 |student_version_#in~a|))} is VALID [2022-04-27 11:36:29,802 INFO L290 TraceCheckUtils]: 25: Hoare triple {7946#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 |student_version_#in~a|))} assume !(~b~1 < ~n); {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,802 INFO L290 TraceCheckUtils]: 26: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,802 INFO L290 TraceCheckUtils]: 27: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~l~1 < ~m); {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,802 INFO L290 TraceCheckUtils]: 28: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,803 INFO L290 TraceCheckUtils]: 29: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,803 INFO L290 TraceCheckUtils]: 30: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,803 INFO L290 TraceCheckUtils]: 31: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} #res := ~y~1; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,803 INFO L290 TraceCheckUtils]: 32: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume true; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:29,804 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} {7846#(<= (+ main_~a~0 1) main_~n~0)} #113#return; {7829#false} is VALID [2022-04-27 11:36:29,804 INFO L290 TraceCheckUtils]: 34: Hoare triple {7829#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {7829#false} is VALID [2022-04-27 11:36:29,804 INFO L272 TraceCheckUtils]: 35: Hoare triple {7829#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {7829#false} is VALID [2022-04-27 11:36:29,804 INFO L290 TraceCheckUtils]: 36: Hoare triple {7829#false} ~cond := #in~cond; {7829#false} is VALID [2022-04-27 11:36:29,804 INFO L290 TraceCheckUtils]: 37: Hoare triple {7829#false} assume 0 == ~cond; {7829#false} is VALID [2022-04-27 11:36:29,805 INFO L290 TraceCheckUtils]: 38: Hoare triple {7829#false} assume !false; {7829#false} is VALID [2022-04-27 11:36:29,805 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-27 11:36:29,805 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:30,477 INFO L290 TraceCheckUtils]: 38: Hoare triple {7829#false} assume !false; {7829#false} is VALID [2022-04-27 11:36:30,477 INFO L290 TraceCheckUtils]: 37: Hoare triple {7829#false} assume 0 == ~cond; {7829#false} is VALID [2022-04-27 11:36:30,477 INFO L290 TraceCheckUtils]: 36: Hoare triple {7829#false} ~cond := #in~cond; {7829#false} is VALID [2022-04-27 11:36:30,477 INFO L272 TraceCheckUtils]: 35: Hoare triple {7829#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {7829#false} is VALID [2022-04-27 11:36:30,477 INFO L290 TraceCheckUtils]: 34: Hoare triple {7829#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {7829#false} is VALID [2022-04-27 11:36:30,478 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} {7846#(<= (+ main_~a~0 1) main_~n~0)} #113#return; {7829#false} is VALID [2022-04-27 11:36:30,478 INFO L290 TraceCheckUtils]: 32: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume true; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:30,479 INFO L290 TraceCheckUtils]: 31: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} #res := ~y~1; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:30,479 INFO L290 TraceCheckUtils]: 30: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~x~1 < ~i~1); {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:30,479 INFO L290 TraceCheckUtils]: 29: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:30,479 INFO L290 TraceCheckUtils]: 28: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} ~x~1 := 0;~y~1 := 0; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:30,480 INFO L290 TraceCheckUtils]: 27: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume !(~l~1 < ~m); {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:30,480 INFO L290 TraceCheckUtils]: 26: Hoare triple {7867#(<= |student_version_#in~n| |student_version_#in~a|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:30,480 INFO L290 TraceCheckUtils]: 25: Hoare triple {8031#(or (<= |student_version_#in~n| |student_version_#in~a|) (< student_version_~b~1 student_version_~n))} assume !(~b~1 < ~n); {7867#(<= |student_version_#in~n| |student_version_#in~a|)} is VALID [2022-04-27 11:36:30,481 INFO L290 TraceCheckUtils]: 24: Hoare triple {8035#(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; {8031#(or (<= |student_version_#in~n| |student_version_#in~a|) (< student_version_~b~1 student_version_~n))} is VALID [2022-04-27 11:36:30,481 INFO L290 TraceCheckUtils]: 23: Hoare triple {7828#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {8035#(or (< (+ student_version_~b~1 student_version_~a) student_version_~n) (<= |student_version_#in~n| |student_version_#in~a|))} is VALID [2022-04-27 11:36:30,481 INFO L272 TraceCheckUtils]: 22: Hoare triple {7846#(<= (+ main_~a~0 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {7828#true} is VALID [2022-04-27 11:36:30,481 INFO L290 TraceCheckUtils]: 21: Hoare triple {7846#(<= (+ main_~a~0 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {7846#(<= (+ main_~a~0 1) main_~n~0)} is VALID [2022-04-27 11:36:30,482 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} {7828#true} #111#return; {7846#(<= (+ main_~a~0 1) main_~n~0)} is VALID [2022-04-27 11:36:30,482 INFO L290 TraceCheckUtils]: 19: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume true; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:30,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} #res := ~y~0; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:30,483 INFO L290 TraceCheckUtils]: 17: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:30,483 INFO L290 TraceCheckUtils]: 16: Hoare triple {7863#(<= (+ |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; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:30,483 INFO L290 TraceCheckUtils]: 15: Hoare triple {7863#(<= (+ |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; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:30,484 INFO L290 TraceCheckUtils]: 14: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:30,484 INFO L290 TraceCheckUtils]: 13: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:30,484 INFO L290 TraceCheckUtils]: 12: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:30,484 INFO L290 TraceCheckUtils]: 11: Hoare triple {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:30,485 INFO L290 TraceCheckUtils]: 10: Hoare triple {8078#(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; {7863#(<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:36:30,485 INFO L290 TraceCheckUtils]: 9: Hoare triple {8082#(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; {8078#(or (not (< correct_version_~b~0 correct_version_~n)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|))} is VALID [2022-04-27 11:36:30,486 INFO L290 TraceCheckUtils]: 8: Hoare triple {7828#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {8082#(or (<= correct_version_~n (+ correct_version_~b~0 correct_version_~a)) (<= (+ |correct_version_#in~a| 1) |correct_version_#in~n|))} is VALID [2022-04-27 11:36:30,486 INFO L272 TraceCheckUtils]: 7: Hoare triple {7828#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {7828#true} is VALID [2022-04-27 11:36:30,486 INFO L290 TraceCheckUtils]: 6: Hoare triple {7828#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {7828#true} is VALID [2022-04-27 11:36:30,486 INFO L290 TraceCheckUtils]: 5: Hoare triple {7828#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {7828#true} is VALID [2022-04-27 11:36:30,486 INFO L272 TraceCheckUtils]: 4: Hoare triple {7828#true} call #t~ret10 := main(); {7828#true} is VALID [2022-04-27 11:36:30,486 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7828#true} {7828#true} #117#return; {7828#true} is VALID [2022-04-27 11:36:30,486 INFO L290 TraceCheckUtils]: 2: Hoare triple {7828#true} assume true; {7828#true} is VALID [2022-04-27 11:36:30,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {7828#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {7828#true} is VALID [2022-04-27 11:36:30,486 INFO L272 TraceCheckUtils]: 0: Hoare triple {7828#true} call ULTIMATE.init(); {7828#true} is VALID [2022-04-27 11:36:30,486 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-27 11:36:30,487 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1915167915] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:30,487 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:30,487 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9, 9] total 21 [2022-04-27 11:36:30,487 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1250640301] [2022-04-27 11:36:30,487 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:30,487 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-04-27 11:36:30,488 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:30,488 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:30,520 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:36:30,520 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-27 11:36:30,520 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:30,520 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-27 11:36:30,520 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=355, Unknown=0, NotChecked=0, Total=420 [2022-04-27 11:36:30,521 INFO L87 Difference]: Start difference. First operand 121 states and 149 transitions. Second operand has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:31,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:31,226 INFO L93 Difference]: Finished difference Result 132 states and 159 transitions. [2022-04-27 11:36:31,226 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-27 11:36:31,226 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-04-27 11:36:31,226 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:31,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:31,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 69 transitions. [2022-04-27 11:36:31,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:31,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 69 transitions. [2022-04-27 11:36:31,229 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 69 transitions. [2022-04-27 11:36:31,282 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-27 11:36:31,284 INFO L225 Difference]: With dead ends: 132 [2022-04-27 11:36:31,284 INFO L226 Difference]: Without dead ends: 120 [2022-04-27 11:36:31,285 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 71 SyntacticMatches, 3 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=124, Invalid=688, Unknown=0, NotChecked=0, Total=812 [2022-04-27 11:36:31,285 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 118 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 411 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 120 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 427 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 411 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:31,286 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [120 Valid, 89 Invalid, 427 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 411 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 11:36:31,286 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2022-04-27 11:36:31,424 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 118. [2022-04-27 11:36:31,424 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:31,424 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-27 11:36:31,425 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-27 11:36:31,425 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-27 11:36:31,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:31,427 INFO L93 Difference]: Finished difference Result 120 states and 144 transitions. [2022-04-27 11:36:31,427 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 144 transitions. [2022-04-27 11:36:31,427 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:31,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:31,427 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-27 11:36:31,427 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-27 11:36:31,429 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:31,429 INFO L93 Difference]: Finished difference Result 120 states and 144 transitions. [2022-04-27 11:36:31,429 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 144 transitions. [2022-04-27 11:36:31,429 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:31,430 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:31,430 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:31,430 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:31,430 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-27 11:36:31,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 142 transitions. [2022-04-27 11:36:31,432 INFO L78 Accepts]: Start accepts. Automaton has 118 states and 142 transitions. Word has length 39 [2022-04-27 11:36:31,432 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:31,432 INFO L495 AbstractCegarLoop]: Abstraction has 118 states and 142 transitions. [2022-04-27 11:36:31,432 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:31,432 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 142 transitions. [2022-04-27 11:36:31,432 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-27 11:36:31,432 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:31,433 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:31,463 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-27 11:36:31,647 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-27 11:36:31,647 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:31,648 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:31,648 INFO L85 PathProgramCache]: Analyzing trace with hash 172610767, now seen corresponding path program 9 times [2022-04-27 11:36:31,648 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:31,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [29170086] [2022-04-27 11:36:31,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:31,648 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:31,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:31,699 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:31,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:31,702 INFO L290 TraceCheckUtils]: 0: Hoare triple {8737#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {8706#true} is VALID [2022-04-27 11:36:31,702 INFO L290 TraceCheckUtils]: 1: Hoare triple {8706#true} assume true; {8706#true} is VALID [2022-04-27 11:36:31,702 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8706#true} {8706#true} #117#return; {8706#true} is VALID [2022-04-27 11:36:31,702 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:31,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:31,749 INFO L290 TraceCheckUtils]: 0: Hoare triple {8706#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {8738#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:31,749 INFO L290 TraceCheckUtils]: 1: Hoare triple {8738#(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; {8738#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:31,749 INFO L290 TraceCheckUtils]: 2: Hoare triple {8738#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {8738#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:31,750 INFO L290 TraceCheckUtils]: 3: Hoare triple {8738#(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; {8739#(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-27 11:36:31,750 INFO L290 TraceCheckUtils]: 4: Hoare triple {8739#(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; {8740#(and (<= correct_version_~l~0 (* 2 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-27 11:36:31,751 INFO L290 TraceCheckUtils]: 5: Hoare triple {8740#(and (<= correct_version_~l~0 (* 2 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:31,751 INFO L290 TraceCheckUtils]: 6: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:31,751 INFO L290 TraceCheckUtils]: 7: Hoare triple {8741#(<= |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; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:31,752 INFO L290 TraceCheckUtils]: 8: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:31,752 INFO L290 TraceCheckUtils]: 9: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} #res := ~y~0; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:31,752 INFO L290 TraceCheckUtils]: 10: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume true; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:31,753 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} {8706#true} #111#return; {8723#(<= main_~m~0 (* main_~a~0 2))} is VALID [2022-04-27 11:36:31,753 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-27 11:36:31,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:31,822 INFO L290 TraceCheckUtils]: 0: Hoare triple {8706#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {8742#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:31,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {8742#(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; {8742#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:31,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {8742#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {8742#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:31,825 INFO L290 TraceCheckUtils]: 3: Hoare triple {8742#(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; {8743#(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-27 11:36:31,825 INFO L290 TraceCheckUtils]: 4: Hoare triple {8743#(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; {8744#(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-27 11:36:31,826 INFO L290 TraceCheckUtils]: 5: Hoare triple {8744#(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; {8745#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 2) 1) student_version_~m))} is VALID [2022-04-27 11:36:31,826 INFO L290 TraceCheckUtils]: 6: Hoare triple {8745#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 2) 1) student_version_~m))} assume !(~l~1 < ~m); {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:31,826 INFO L290 TraceCheckUtils]: 7: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:31,827 INFO L290 TraceCheckUtils]: 8: Hoare triple {8746#(<= (+ (* |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; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:31,827 INFO L290 TraceCheckUtils]: 9: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:31,827 INFO L290 TraceCheckUtils]: 10: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} #res := ~y~1; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:31,827 INFO L290 TraceCheckUtils]: 11: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume true; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:31,828 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} {8723#(<= main_~m~0 (* main_~a~0 2))} #113#return; {8707#false} is VALID [2022-04-27 11:36:31,829 INFO L272 TraceCheckUtils]: 0: Hoare triple {8706#true} call ULTIMATE.init(); {8737#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:31,829 INFO L290 TraceCheckUtils]: 1: Hoare triple {8737#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {8706#true} is VALID [2022-04-27 11:36:31,829 INFO L290 TraceCheckUtils]: 2: Hoare triple {8706#true} assume true; {8706#true} is VALID [2022-04-27 11:36:31,829 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8706#true} {8706#true} #117#return; {8706#true} is VALID [2022-04-27 11:36:31,829 INFO L272 TraceCheckUtils]: 4: Hoare triple {8706#true} call #t~ret10 := main(); {8706#true} is VALID [2022-04-27 11:36:31,829 INFO L290 TraceCheckUtils]: 5: Hoare triple {8706#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {8706#true} is VALID [2022-04-27 11:36:31,829 INFO L290 TraceCheckUtils]: 6: Hoare triple {8706#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {8706#true} is VALID [2022-04-27 11:36:31,829 INFO L272 TraceCheckUtils]: 7: Hoare triple {8706#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {8706#true} is VALID [2022-04-27 11:36:31,829 INFO L290 TraceCheckUtils]: 8: Hoare triple {8706#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {8738#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:31,830 INFO L290 TraceCheckUtils]: 9: Hoare triple {8738#(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; {8738#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:31,830 INFO L290 TraceCheckUtils]: 10: Hoare triple {8738#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {8738#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:31,830 INFO L290 TraceCheckUtils]: 11: Hoare triple {8738#(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; {8739#(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-27 11:36:31,831 INFO L290 TraceCheckUtils]: 12: Hoare triple {8739#(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; {8740#(and (<= correct_version_~l~0 (* 2 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-27 11:36:31,831 INFO L290 TraceCheckUtils]: 13: Hoare triple {8740#(and (<= correct_version_~l~0 (* 2 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:31,832 INFO L290 TraceCheckUtils]: 14: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:31,832 INFO L290 TraceCheckUtils]: 15: Hoare triple {8741#(<= |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; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:31,832 INFO L290 TraceCheckUtils]: 16: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:31,832 INFO L290 TraceCheckUtils]: 17: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} #res := ~y~0; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:31,833 INFO L290 TraceCheckUtils]: 18: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume true; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:31,833 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} {8706#true} #111#return; {8723#(<= main_~m~0 (* main_~a~0 2))} is VALID [2022-04-27 11:36:31,834 INFO L290 TraceCheckUtils]: 20: Hoare triple {8723#(<= main_~m~0 (* main_~a~0 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {8723#(<= main_~m~0 (* main_~a~0 2))} is VALID [2022-04-27 11:36:31,834 INFO L272 TraceCheckUtils]: 21: Hoare triple {8723#(<= main_~m~0 (* main_~a~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {8706#true} is VALID [2022-04-27 11:36:31,834 INFO L290 TraceCheckUtils]: 22: Hoare triple {8706#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {8742#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:31,834 INFO L290 TraceCheckUtils]: 23: Hoare triple {8742#(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; {8742#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:31,835 INFO L290 TraceCheckUtils]: 24: Hoare triple {8742#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {8742#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:31,835 INFO L290 TraceCheckUtils]: 25: Hoare triple {8742#(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; {8743#(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-27 11:36:31,836 INFO L290 TraceCheckUtils]: 26: Hoare triple {8743#(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; {8744#(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-27 11:36:31,836 INFO L290 TraceCheckUtils]: 27: Hoare triple {8744#(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; {8745#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 2) 1) student_version_~m))} is VALID [2022-04-27 11:36:31,836 INFO L290 TraceCheckUtils]: 28: Hoare triple {8745#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 2) 1) student_version_~m))} assume !(~l~1 < ~m); {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:31,837 INFO L290 TraceCheckUtils]: 29: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:31,837 INFO L290 TraceCheckUtils]: 30: Hoare triple {8746#(<= (+ (* |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; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:31,837 INFO L290 TraceCheckUtils]: 31: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:31,837 INFO L290 TraceCheckUtils]: 32: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} #res := ~y~1; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:31,838 INFO L290 TraceCheckUtils]: 33: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume true; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:31,838 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} {8723#(<= main_~m~0 (* main_~a~0 2))} #113#return; {8707#false} is VALID [2022-04-27 11:36:31,838 INFO L290 TraceCheckUtils]: 35: Hoare triple {8707#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {8707#false} is VALID [2022-04-27 11:36:31,838 INFO L272 TraceCheckUtils]: 36: Hoare triple {8707#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {8707#false} is VALID [2022-04-27 11:36:31,839 INFO L290 TraceCheckUtils]: 37: Hoare triple {8707#false} ~cond := #in~cond; {8707#false} is VALID [2022-04-27 11:36:31,839 INFO L290 TraceCheckUtils]: 38: Hoare triple {8707#false} assume 0 == ~cond; {8707#false} is VALID [2022-04-27 11:36:31,839 INFO L290 TraceCheckUtils]: 39: Hoare triple {8707#false} assume !false; {8707#false} is VALID [2022-04-27 11:36:31,839 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-27 11:36:31,839 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:31,839 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [29170086] [2022-04-27 11:36:31,839 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [29170086] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:31,839 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [327983490] [2022-04-27 11:36:31,839 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:36:31,839 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:31,839 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:31,856 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-27 11:36:31,857 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-27 11:36:31,902 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-27 11:36:31,902 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:36:31,902 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-27 11:36:31,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:31,911 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:32,641 INFO L272 TraceCheckUtils]: 0: Hoare triple {8706#true} call ULTIMATE.init(); {8706#true} is VALID [2022-04-27 11:36:32,641 INFO L290 TraceCheckUtils]: 1: Hoare triple {8706#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {8706#true} is VALID [2022-04-27 11:36:32,641 INFO L290 TraceCheckUtils]: 2: Hoare triple {8706#true} assume true; {8706#true} is VALID [2022-04-27 11:36:32,641 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8706#true} {8706#true} #117#return; {8706#true} is VALID [2022-04-27 11:36:32,642 INFO L272 TraceCheckUtils]: 4: Hoare triple {8706#true} call #t~ret10 := main(); {8706#true} is VALID [2022-04-27 11:36:32,642 INFO L290 TraceCheckUtils]: 5: Hoare triple {8706#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {8706#true} is VALID [2022-04-27 11:36:32,642 INFO L290 TraceCheckUtils]: 6: Hoare triple {8706#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {8706#true} is VALID [2022-04-27 11:36:32,642 INFO L272 TraceCheckUtils]: 7: Hoare triple {8706#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {8706#true} is VALID [2022-04-27 11:36:32,642 INFO L290 TraceCheckUtils]: 8: Hoare triple {8706#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {8774#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:36:32,643 INFO L290 TraceCheckUtils]: 9: Hoare triple {8774#(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; {8774#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:36:32,643 INFO L290 TraceCheckUtils]: 10: Hoare triple {8774#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {8774#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:36:32,643 INFO L290 TraceCheckUtils]: 11: Hoare triple {8774#(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; {8784#(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-27 11:36:32,644 INFO L290 TraceCheckUtils]: 12: Hoare triple {8784#(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; {8788#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 2)) |correct_version_#in~a|))} is VALID [2022-04-27 11:36:32,644 INFO L290 TraceCheckUtils]: 13: Hoare triple {8788#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 2)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:32,645 INFO L290 TraceCheckUtils]: 14: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:32,645 INFO L290 TraceCheckUtils]: 15: Hoare triple {8741#(<= |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; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:32,645 INFO L290 TraceCheckUtils]: 16: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:32,646 INFO L290 TraceCheckUtils]: 17: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} #res := ~y~0; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:32,646 INFO L290 TraceCheckUtils]: 18: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume true; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:32,647 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} {8706#true} #111#return; {8723#(<= main_~m~0 (* main_~a~0 2))} is VALID [2022-04-27 11:36:32,647 INFO L290 TraceCheckUtils]: 20: Hoare triple {8723#(<= main_~m~0 (* main_~a~0 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {8723#(<= main_~m~0 (* main_~a~0 2))} is VALID [2022-04-27 11:36:32,647 INFO L272 TraceCheckUtils]: 21: Hoare triple {8723#(<= main_~m~0 (* main_~a~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {8706#true} is VALID [2022-04-27 11:36:32,648 INFO L290 TraceCheckUtils]: 22: Hoare triple {8706#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {8819#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:36:32,648 INFO L290 TraceCheckUtils]: 23: Hoare triple {8819#(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; {8819#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:36:32,648 INFO L290 TraceCheckUtils]: 24: Hoare triple {8819#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {8819#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:36:32,649 INFO L290 TraceCheckUtils]: 25: Hoare triple {8819#(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; {8829#(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-27 11:36:32,649 INFO L290 TraceCheckUtils]: 26: Hoare triple {8829#(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; {8833#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 2)))} is VALID [2022-04-27 11:36:32,650 INFO L290 TraceCheckUtils]: 27: Hoare triple {8833#(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; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:32,650 INFO L290 TraceCheckUtils]: 28: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:32,650 INFO L290 TraceCheckUtils]: 29: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:32,651 INFO L290 TraceCheckUtils]: 30: Hoare triple {8746#(<= (+ (* |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; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:32,651 INFO L290 TraceCheckUtils]: 31: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:32,651 INFO L290 TraceCheckUtils]: 32: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} #res := ~y~1; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:32,651 INFO L290 TraceCheckUtils]: 33: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume true; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:32,652 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} {8723#(<= main_~m~0 (* main_~a~0 2))} #113#return; {8707#false} is VALID [2022-04-27 11:36:32,652 INFO L290 TraceCheckUtils]: 35: Hoare triple {8707#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {8707#false} is VALID [2022-04-27 11:36:32,652 INFO L272 TraceCheckUtils]: 36: Hoare triple {8707#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {8707#false} is VALID [2022-04-27 11:36:32,652 INFO L290 TraceCheckUtils]: 37: Hoare triple {8707#false} ~cond := #in~cond; {8707#false} is VALID [2022-04-27 11:36:32,653 INFO L290 TraceCheckUtils]: 38: Hoare triple {8707#false} assume 0 == ~cond; {8707#false} is VALID [2022-04-27 11:36:32,653 INFO L290 TraceCheckUtils]: 39: Hoare triple {8707#false} assume !false; {8707#false} is VALID [2022-04-27 11:36:32,653 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-27 11:36:32,653 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:33,548 INFO L290 TraceCheckUtils]: 39: Hoare triple {8707#false} assume !false; {8707#false} is VALID [2022-04-27 11:36:33,548 INFO L290 TraceCheckUtils]: 38: Hoare triple {8707#false} assume 0 == ~cond; {8707#false} is VALID [2022-04-27 11:36:33,548 INFO L290 TraceCheckUtils]: 37: Hoare triple {8707#false} ~cond := #in~cond; {8707#false} is VALID [2022-04-27 11:36:33,548 INFO L272 TraceCheckUtils]: 36: Hoare triple {8707#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {8707#false} is VALID [2022-04-27 11:36:33,548 INFO L290 TraceCheckUtils]: 35: Hoare triple {8707#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {8707#false} is VALID [2022-04-27 11:36:33,549 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} {8723#(<= main_~m~0 (* main_~a~0 2))} #113#return; {8707#false} is VALID [2022-04-27 11:36:33,549 INFO L290 TraceCheckUtils]: 33: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume true; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:33,550 INFO L290 TraceCheckUtils]: 32: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} #res := ~y~1; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:33,550 INFO L290 TraceCheckUtils]: 31: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:33,550 INFO L290 TraceCheckUtils]: 30: Hoare triple {8746#(<= (+ (* |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; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:33,550 INFO L290 TraceCheckUtils]: 29: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:33,551 INFO L290 TraceCheckUtils]: 28: Hoare triple {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:33,551 INFO L290 TraceCheckUtils]: 27: Hoare triple {8912#(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; {8746#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:33,552 INFO L290 TraceCheckUtils]: 26: Hoare triple {8916#(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; {8912#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-27 11:36:33,552 INFO L290 TraceCheckUtils]: 25: Hoare triple {8920#(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; {8916#(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-27 11:36:33,553 INFO L290 TraceCheckUtils]: 24: Hoare triple {8920#(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); {8920#(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-27 11:36:33,553 INFO L290 TraceCheckUtils]: 23: Hoare triple {8920#(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; {8920#(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-27 11:36:33,553 INFO L290 TraceCheckUtils]: 22: Hoare triple {8706#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {8920#(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-27 11:36:33,553 INFO L272 TraceCheckUtils]: 21: Hoare triple {8723#(<= main_~m~0 (* main_~a~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {8706#true} is VALID [2022-04-27 11:36:33,554 INFO L290 TraceCheckUtils]: 20: Hoare triple {8723#(<= main_~m~0 (* main_~a~0 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {8723#(<= main_~m~0 (* main_~a~0 2))} is VALID [2022-04-27 11:36:33,554 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} {8706#true} #111#return; {8723#(<= main_~m~0 (* main_~a~0 2))} is VALID [2022-04-27 11:36:33,555 INFO L290 TraceCheckUtils]: 18: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume true; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:33,555 INFO L290 TraceCheckUtils]: 17: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} #res := ~y~0; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:33,555 INFO L290 TraceCheckUtils]: 16: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:33,556 INFO L290 TraceCheckUtils]: 15: Hoare triple {8741#(<= |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; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:33,556 INFO L290 TraceCheckUtils]: 14: Hoare triple {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:33,556 INFO L290 TraceCheckUtils]: 13: Hoare triple {8957#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| (* 2 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {8741#(<= |correct_version_#in~m| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:33,557 INFO L290 TraceCheckUtils]: 12: Hoare triple {8961#(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; {8957#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| (* 2 |correct_version_#in~a|)))} is VALID [2022-04-27 11:36:33,557 INFO L290 TraceCheckUtils]: 11: Hoare triple {8965#(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; {8961#(or (<= |correct_version_#in~m| (* 2 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-27 11:36:33,558 INFO L290 TraceCheckUtils]: 10: Hoare triple {8965#(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); {8965#(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-27 11:36:33,558 INFO L290 TraceCheckUtils]: 9: Hoare triple {8965#(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; {8965#(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-27 11:36:33,559 INFO L290 TraceCheckUtils]: 8: Hoare triple {8706#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {8965#(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-27 11:36:33,559 INFO L272 TraceCheckUtils]: 7: Hoare triple {8706#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {8706#true} is VALID [2022-04-27 11:36:33,559 INFO L290 TraceCheckUtils]: 6: Hoare triple {8706#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {8706#true} is VALID [2022-04-27 11:36:33,559 INFO L290 TraceCheckUtils]: 5: Hoare triple {8706#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {8706#true} is VALID [2022-04-27 11:36:33,559 INFO L272 TraceCheckUtils]: 4: Hoare triple {8706#true} call #t~ret10 := main(); {8706#true} is VALID [2022-04-27 11:36:33,559 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8706#true} {8706#true} #117#return; {8706#true} is VALID [2022-04-27 11:36:33,559 INFO L290 TraceCheckUtils]: 2: Hoare triple {8706#true} assume true; {8706#true} is VALID [2022-04-27 11:36:33,559 INFO L290 TraceCheckUtils]: 1: Hoare triple {8706#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {8706#true} is VALID [2022-04-27 11:36:33,559 INFO L272 TraceCheckUtils]: 0: Hoare triple {8706#true} call ULTIMATE.init(); {8706#true} is VALID [2022-04-27 11:36:33,559 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-27 11:36:33,559 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [327983490] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:33,559 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:33,559 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11, 11] total 25 [2022-04-27 11:36:33,560 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2043750944] [2022-04-27 11:36:33,560 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:33,560 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 2.32) internal successors, (58), 24 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 40 [2022-04-27 11:36:33,560 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:33,560 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 25 states have (on average 2.32) internal successors, (58), 24 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:33,603 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:36:33,603 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-27 11:36:33,603 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:33,603 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-27 11:36:33,603 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=525, Unknown=0, NotChecked=0, Total=600 [2022-04-27 11:36:33,604 INFO L87 Difference]: Start difference. First operand 118 states and 142 transitions. Second operand has 25 states, 25 states have (on average 2.32) internal successors, (58), 24 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:35,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:35,387 INFO L93 Difference]: Finished difference Result 136 states and 165 transitions. [2022-04-27 11:36:35,387 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-27 11:36:35,387 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 2.32) internal successors, (58), 24 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 40 [2022-04-27 11:36:35,387 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:35,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 2.32) internal successors, (58), 24 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:35,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 82 transitions. [2022-04-27 11:36:35,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 2.32) internal successors, (58), 24 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:35,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 82 transitions. [2022-04-27 11:36:35,390 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 82 transitions. [2022-04-27 11:36:35,460 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-27 11:36:35,462 INFO L225 Difference]: With dead ends: 136 [2022-04-27 11:36:35,462 INFO L226 Difference]: Without dead ends: 122 [2022-04-27 11:36:35,463 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 149 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=166, Invalid=1166, Unknown=0, NotChecked=0, Total=1332 [2022-04-27 11:36:35,463 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 140 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 780 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 145 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 805 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 780 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:35,463 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [145 Valid, 116 Invalid, 805 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 780 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-27 11:36:35,464 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2022-04-27 11:36:35,647 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 113. [2022-04-27 11:36:35,647 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:35,648 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-27 11:36:35,648 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-27 11:36:35,648 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-27 11:36:35,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:35,650 INFO L93 Difference]: Finished difference Result 122 states and 148 transitions. [2022-04-27 11:36:35,650 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 148 transitions. [2022-04-27 11:36:35,650 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:35,650 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:35,650 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-27 11:36:35,651 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-27 11:36:35,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:35,652 INFO L93 Difference]: Finished difference Result 122 states and 148 transitions. [2022-04-27 11:36:35,652 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 148 transitions. [2022-04-27 11:36:35,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:35,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:35,653 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:35,653 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:35,653 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-27 11:36:35,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 138 transitions. [2022-04-27 11:36:35,654 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 138 transitions. Word has length 40 [2022-04-27 11:36:35,655 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:35,655 INFO L495 AbstractCegarLoop]: Abstraction has 113 states and 138 transitions. [2022-04-27 11:36:35,655 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 2.32) internal successors, (58), 24 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:35,655 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 138 transitions. [2022-04-27 11:36:35,655 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-27 11:36:35,655 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:35,655 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:35,675 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-27 11:36:35,875 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:35,876 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:35,876 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:35,876 INFO L85 PathProgramCache]: Analyzing trace with hash -306897140, now seen corresponding path program 10 times [2022-04-27 11:36:35,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:35,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [977498766] [2022-04-27 11:36:35,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:35,876 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:35,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:35,908 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:35,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:35,910 INFO L290 TraceCheckUtils]: 0: Hoare triple {9636#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {9605#true} is VALID [2022-04-27 11:36:35,911 INFO L290 TraceCheckUtils]: 1: Hoare triple {9605#true} assume true; {9605#true} is VALID [2022-04-27 11:36:35,911 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9605#true} {9605#true} #117#return; {9605#true} is VALID [2022-04-27 11:36:35,911 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:35,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:35,979 INFO L290 TraceCheckUtils]: 0: Hoare triple {9605#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {9637#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:35,980 INFO L290 TraceCheckUtils]: 1: Hoare triple {9637#(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; {9637#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:35,980 INFO L290 TraceCheckUtils]: 2: Hoare triple {9637#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {9637#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:35,981 INFO L290 TraceCheckUtils]: 3: Hoare triple {9637#(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; {9638#(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-27 11:36:35,981 INFO L290 TraceCheckUtils]: 4: Hoare triple {9638#(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; {9639#(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-27 11:36:35,982 INFO L290 TraceCheckUtils]: 5: Hoare triple {9639#(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; {9640#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 2 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-27 11:36:35,982 INFO L290 TraceCheckUtils]: 6: Hoare triple {9640#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 2 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:35,982 INFO L290 TraceCheckUtils]: 7: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:35,983 INFO L290 TraceCheckUtils]: 8: Hoare triple {9641#(<= (+ (* 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; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:35,983 INFO L290 TraceCheckUtils]: 9: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:35,983 INFO L290 TraceCheckUtils]: 10: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:35,984 INFO L290 TraceCheckUtils]: 11: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:35,984 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {9605#true} #111#return; {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} is VALID [2022-04-27 11:36:35,985 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-27 11:36:35,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:36,049 INFO L290 TraceCheckUtils]: 0: Hoare triple {9605#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {9642#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:36,049 INFO L290 TraceCheckUtils]: 1: Hoare triple {9642#(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; {9642#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:36,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {9642#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {9642#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:36,050 INFO L290 TraceCheckUtils]: 3: Hoare triple {9642#(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; {9643#(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-27 11:36:36,051 INFO L290 TraceCheckUtils]: 4: Hoare triple {9643#(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; {9644#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 2)))} is VALID [2022-04-27 11:36:36,051 INFO L290 TraceCheckUtils]: 5: Hoare triple {9644#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 2)))} assume !(~l~1 < ~m); {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,051 INFO L290 TraceCheckUtils]: 6: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,051 INFO L290 TraceCheckUtils]: 7: Hoare triple {9645#(<= |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; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,052 INFO L290 TraceCheckUtils]: 8: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,052 INFO L290 TraceCheckUtils]: 9: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} #res := ~y~1; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,052 INFO L290 TraceCheckUtils]: 10: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume true; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,053 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} #113#return; {9606#false} is VALID [2022-04-27 11:36:36,054 INFO L272 TraceCheckUtils]: 0: Hoare triple {9605#true} call ULTIMATE.init(); {9636#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:36,054 INFO L290 TraceCheckUtils]: 1: Hoare triple {9636#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {9605#true} is VALID [2022-04-27 11:36:36,054 INFO L290 TraceCheckUtils]: 2: Hoare triple {9605#true} assume true; {9605#true} is VALID [2022-04-27 11:36:36,054 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9605#true} {9605#true} #117#return; {9605#true} is VALID [2022-04-27 11:36:36,054 INFO L272 TraceCheckUtils]: 4: Hoare triple {9605#true} call #t~ret10 := main(); {9605#true} is VALID [2022-04-27 11:36:36,054 INFO L290 TraceCheckUtils]: 5: Hoare triple {9605#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {9605#true} is VALID [2022-04-27 11:36:36,054 INFO L290 TraceCheckUtils]: 6: Hoare triple {9605#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {9605#true} is VALID [2022-04-27 11:36:36,054 INFO L272 TraceCheckUtils]: 7: Hoare triple {9605#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {9605#true} is VALID [2022-04-27 11:36:36,054 INFO L290 TraceCheckUtils]: 8: Hoare triple {9605#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {9637#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:36,055 INFO L290 TraceCheckUtils]: 9: Hoare triple {9637#(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; {9637#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:36,055 INFO L290 TraceCheckUtils]: 10: Hoare triple {9637#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {9637#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:36,055 INFO L290 TraceCheckUtils]: 11: Hoare triple {9637#(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; {9638#(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-27 11:36:36,056 INFO L290 TraceCheckUtils]: 12: Hoare triple {9638#(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; {9639#(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-27 11:36:36,056 INFO L290 TraceCheckUtils]: 13: Hoare triple {9639#(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; {9640#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 2 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-27 11:36:36,057 INFO L290 TraceCheckUtils]: 14: Hoare triple {9640#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 2 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:36,057 INFO L290 TraceCheckUtils]: 15: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:36,057 INFO L290 TraceCheckUtils]: 16: Hoare triple {9641#(<= (+ (* 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; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:36,058 INFO L290 TraceCheckUtils]: 17: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:36,058 INFO L290 TraceCheckUtils]: 18: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:36,058 INFO L290 TraceCheckUtils]: 19: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:36,059 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {9605#true} #111#return; {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} is VALID [2022-04-27 11:36:36,059 INFO L290 TraceCheckUtils]: 21: Hoare triple {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} is VALID [2022-04-27 11:36:36,059 INFO L272 TraceCheckUtils]: 22: Hoare triple {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {9605#true} is VALID [2022-04-27 11:36:36,060 INFO L290 TraceCheckUtils]: 23: Hoare triple {9605#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {9642#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:36,060 INFO L290 TraceCheckUtils]: 24: Hoare triple {9642#(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; {9642#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:36,060 INFO L290 TraceCheckUtils]: 25: Hoare triple {9642#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {9642#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:36,061 INFO L290 TraceCheckUtils]: 26: Hoare triple {9642#(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; {9643#(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-27 11:36:36,061 INFO L290 TraceCheckUtils]: 27: Hoare triple {9643#(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; {9644#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 2)))} is VALID [2022-04-27 11:36:36,062 INFO L290 TraceCheckUtils]: 28: Hoare triple {9644#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 2)))} assume !(~l~1 < ~m); {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,062 INFO L290 TraceCheckUtils]: 29: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,062 INFO L290 TraceCheckUtils]: 30: Hoare triple {9645#(<= |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; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,062 INFO L290 TraceCheckUtils]: 31: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,063 INFO L290 TraceCheckUtils]: 32: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} #res := ~y~1; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,063 INFO L290 TraceCheckUtils]: 33: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume true; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,064 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} #113#return; {9606#false} is VALID [2022-04-27 11:36:36,064 INFO L290 TraceCheckUtils]: 35: Hoare triple {9606#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {9606#false} is VALID [2022-04-27 11:36:36,064 INFO L272 TraceCheckUtils]: 36: Hoare triple {9606#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {9606#false} is VALID [2022-04-27 11:36:36,064 INFO L290 TraceCheckUtils]: 37: Hoare triple {9606#false} ~cond := #in~cond; {9606#false} is VALID [2022-04-27 11:36:36,064 INFO L290 TraceCheckUtils]: 38: Hoare triple {9606#false} assume 0 == ~cond; {9606#false} is VALID [2022-04-27 11:36:36,064 INFO L290 TraceCheckUtils]: 39: Hoare triple {9606#false} assume !false; {9606#false} is VALID [2022-04-27 11:36:36,064 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-27 11:36:36,064 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:36,064 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [977498766] [2022-04-27 11:36:36,065 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [977498766] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:36,065 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [710088979] [2022-04-27 11:36:36,065 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 11:36:36,065 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:36,065 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:36,066 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-27 11:36:36,086 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-27 11:36:36,118 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 11:36:36,118 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:36:36,119 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-27 11:36:36,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:36,129 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:36,781 INFO L272 TraceCheckUtils]: 0: Hoare triple {9605#true} call ULTIMATE.init(); {9605#true} is VALID [2022-04-27 11:36:36,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {9605#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {9605#true} is VALID [2022-04-27 11:36:36,781 INFO L290 TraceCheckUtils]: 2: Hoare triple {9605#true} assume true; {9605#true} is VALID [2022-04-27 11:36:36,781 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9605#true} {9605#true} #117#return; {9605#true} is VALID [2022-04-27 11:36:36,781 INFO L272 TraceCheckUtils]: 4: Hoare triple {9605#true} call #t~ret10 := main(); {9605#true} is VALID [2022-04-27 11:36:36,781 INFO L290 TraceCheckUtils]: 5: Hoare triple {9605#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {9605#true} is VALID [2022-04-27 11:36:36,781 INFO L290 TraceCheckUtils]: 6: Hoare triple {9605#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {9605#true} is VALID [2022-04-27 11:36:36,781 INFO L272 TraceCheckUtils]: 7: Hoare triple {9605#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {9605#true} is VALID [2022-04-27 11:36:36,782 INFO L290 TraceCheckUtils]: 8: Hoare triple {9605#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {9673#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:36,782 INFO L290 TraceCheckUtils]: 9: Hoare triple {9673#(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; {9673#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:36,782 INFO L290 TraceCheckUtils]: 10: Hoare triple {9673#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {9673#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:36,783 INFO L290 TraceCheckUtils]: 11: Hoare triple {9673#(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; {9683#(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-27 11:36:36,783 INFO L290 TraceCheckUtils]: 12: Hoare triple {9683#(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; {9687#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 2)))} is VALID [2022-04-27 11:36:36,784 INFO L290 TraceCheckUtils]: 13: Hoare triple {9687#(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; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:36,784 INFO L290 TraceCheckUtils]: 14: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:36,785 INFO L290 TraceCheckUtils]: 15: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:36,785 INFO L290 TraceCheckUtils]: 16: Hoare triple {9641#(<= (+ (* 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; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:36,785 INFO L290 TraceCheckUtils]: 17: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:36,786 INFO L290 TraceCheckUtils]: 18: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:36,786 INFO L290 TraceCheckUtils]: 19: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:36,786 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {9605#true} #111#return; {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} is VALID [2022-04-27 11:36:36,787 INFO L290 TraceCheckUtils]: 21: Hoare triple {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} is VALID [2022-04-27 11:36:36,787 INFO L272 TraceCheckUtils]: 22: Hoare triple {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {9605#true} is VALID [2022-04-27 11:36:36,787 INFO L290 TraceCheckUtils]: 23: Hoare triple {9605#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {9721#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:36:36,788 INFO L290 TraceCheckUtils]: 24: Hoare triple {9721#(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; {9721#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:36:36,788 INFO L290 TraceCheckUtils]: 25: Hoare triple {9721#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {9721#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:36:36,789 INFO L290 TraceCheckUtils]: 26: Hoare triple {9721#(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; {9731#(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-27 11:36:36,789 INFO L290 TraceCheckUtils]: 27: Hoare triple {9731#(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; {9735#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 2)) |student_version_#in~a|))} is VALID [2022-04-27 11:36:36,790 INFO L290 TraceCheckUtils]: 28: Hoare triple {9735#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 2)) |student_version_#in~a|))} assume !(~l~1 < ~m); {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,790 INFO L290 TraceCheckUtils]: 29: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,790 INFO L290 TraceCheckUtils]: 30: Hoare triple {9645#(<= |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; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,790 INFO L290 TraceCheckUtils]: 31: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,791 INFO L290 TraceCheckUtils]: 32: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} #res := ~y~1; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,791 INFO L290 TraceCheckUtils]: 33: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume true; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:36,792 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} #113#return; {9606#false} is VALID [2022-04-27 11:36:36,792 INFO L290 TraceCheckUtils]: 35: Hoare triple {9606#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {9606#false} is VALID [2022-04-27 11:36:36,792 INFO L272 TraceCheckUtils]: 36: Hoare triple {9606#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {9606#false} is VALID [2022-04-27 11:36:36,792 INFO L290 TraceCheckUtils]: 37: Hoare triple {9606#false} ~cond := #in~cond; {9606#false} is VALID [2022-04-27 11:36:36,792 INFO L290 TraceCheckUtils]: 38: Hoare triple {9606#false} assume 0 == ~cond; {9606#false} is VALID [2022-04-27 11:36:36,792 INFO L290 TraceCheckUtils]: 39: Hoare triple {9606#false} assume !false; {9606#false} is VALID [2022-04-27 11:36:36,792 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-27 11:36:36,792 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:37,693 INFO L290 TraceCheckUtils]: 39: Hoare triple {9606#false} assume !false; {9606#false} is VALID [2022-04-27 11:36:37,693 INFO L290 TraceCheckUtils]: 38: Hoare triple {9606#false} assume 0 == ~cond; {9606#false} is VALID [2022-04-27 11:36:37,693 INFO L290 TraceCheckUtils]: 37: Hoare triple {9606#false} ~cond := #in~cond; {9606#false} is VALID [2022-04-27 11:36:37,693 INFO L272 TraceCheckUtils]: 36: Hoare triple {9606#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {9606#false} is VALID [2022-04-27 11:36:37,693 INFO L290 TraceCheckUtils]: 35: Hoare triple {9606#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {9606#false} is VALID [2022-04-27 11:36:37,694 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} #113#return; {9606#false} is VALID [2022-04-27 11:36:37,694 INFO L290 TraceCheckUtils]: 33: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume true; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:37,694 INFO L290 TraceCheckUtils]: 32: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} #res := ~y~1; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:37,695 INFO L290 TraceCheckUtils]: 31: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:37,695 INFO L290 TraceCheckUtils]: 30: Hoare triple {9645#(<= |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; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:37,695 INFO L290 TraceCheckUtils]: 29: Hoare triple {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:37,696 INFO L290 TraceCheckUtils]: 28: Hoare triple {9808#(or (<= |student_version_#in~m| (* |student_version_#in~a| 2)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {9645#(<= |student_version_#in~m| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:36:37,696 INFO L290 TraceCheckUtils]: 27: Hoare triple {9812#(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; {9808#(or (<= |student_version_#in~m| (* |student_version_#in~a| 2)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-27 11:36:37,697 INFO L290 TraceCheckUtils]: 26: Hoare triple {9816#(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; {9812#(or (<= |student_version_#in~m| (* |student_version_#in~a| 2)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} is VALID [2022-04-27 11:36:37,697 INFO L290 TraceCheckUtils]: 25: Hoare triple {9816#(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); {9816#(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-27 11:36:37,697 INFO L290 TraceCheckUtils]: 24: Hoare triple {9816#(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; {9816#(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-27 11:36:37,698 INFO L290 TraceCheckUtils]: 23: Hoare triple {9605#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {9816#(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-27 11:36:37,698 INFO L272 TraceCheckUtils]: 22: Hoare triple {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {9605#true} is VALID [2022-04-27 11:36:37,698 INFO L290 TraceCheckUtils]: 21: Hoare triple {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} is VALID [2022-04-27 11:36:37,699 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {9605#true} #111#return; {9623#(<= (+ (* main_~a~0 2) 1) main_~m~0)} is VALID [2022-04-27 11:36:37,699 INFO L290 TraceCheckUtils]: 19: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:37,700 INFO L290 TraceCheckUtils]: 18: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:37,700 INFO L290 TraceCheckUtils]: 17: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:37,700 INFO L290 TraceCheckUtils]: 16: Hoare triple {9641#(<= (+ (* 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; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:37,701 INFO L290 TraceCheckUtils]: 15: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:37,701 INFO L290 TraceCheckUtils]: 14: Hoare triple {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:37,701 INFO L290 TraceCheckUtils]: 13: Hoare triple {9856#(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; {9641#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:37,702 INFO L290 TraceCheckUtils]: 12: Hoare triple {9860#(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; {9856#(or (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-27 11:36:37,702 INFO L290 TraceCheckUtils]: 11: Hoare triple {9864#(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; {9860#(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-27 11:36:37,703 INFO L290 TraceCheckUtils]: 10: Hoare triple {9864#(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); {9864#(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-27 11:36:37,703 INFO L290 TraceCheckUtils]: 9: Hoare triple {9864#(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; {9864#(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-27 11:36:37,704 INFO L290 TraceCheckUtils]: 8: Hoare triple {9605#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {9864#(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-27 11:36:37,704 INFO L272 TraceCheckUtils]: 7: Hoare triple {9605#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {9605#true} is VALID [2022-04-27 11:36:37,704 INFO L290 TraceCheckUtils]: 6: Hoare triple {9605#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {9605#true} is VALID [2022-04-27 11:36:37,704 INFO L290 TraceCheckUtils]: 5: Hoare triple {9605#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {9605#true} is VALID [2022-04-27 11:36:37,704 INFO L272 TraceCheckUtils]: 4: Hoare triple {9605#true} call #t~ret10 := main(); {9605#true} is VALID [2022-04-27 11:36:37,704 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9605#true} {9605#true} #117#return; {9605#true} is VALID [2022-04-27 11:36:37,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {9605#true} assume true; {9605#true} is VALID [2022-04-27 11:36:37,704 INFO L290 TraceCheckUtils]: 1: Hoare triple {9605#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {9605#true} is VALID [2022-04-27 11:36:37,704 INFO L272 TraceCheckUtils]: 0: Hoare triple {9605#true} call ULTIMATE.init(); {9605#true} is VALID [2022-04-27 11:36:37,704 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-27 11:36:37,704 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [710088979] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:37,704 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:37,704 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11, 11] total 25 [2022-04-27 11:36:37,705 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [558399507] [2022-04-27 11:36:37,705 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:37,705 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 2.32) internal successors, (58), 24 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 40 [2022-04-27 11:36:37,705 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:37,705 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 25 states have (on average 2.32) internal successors, (58), 24 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:37,747 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:36:37,748 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-27 11:36:37,748 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:37,748 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-27 11:36:37,748 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=525, Unknown=0, NotChecked=0, Total=600 [2022-04-27 11:36:37,748 INFO L87 Difference]: Start difference. First operand 113 states and 138 transitions. Second operand has 25 states, 25 states have (on average 2.32) internal successors, (58), 24 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:39,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:39,699 INFO L93 Difference]: Finished difference Result 128 states and 153 transitions. [2022-04-27 11:36:39,699 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-27 11:36:39,699 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 2.32) internal successors, (58), 24 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 40 [2022-04-27 11:36:39,699 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:39,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 2.32) internal successors, (58), 24 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:39,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 81 transitions. [2022-04-27 11:36:39,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 2.32) internal successors, (58), 24 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:39,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 81 transitions. [2022-04-27 11:36:39,712 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 81 transitions. [2022-04-27 11:36:39,757 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-27 11:36:39,760 INFO L225 Difference]: With dead ends: 128 [2022-04-27 11:36:39,760 INFO L226 Difference]: Without dead ends: 116 [2022-04-27 11:36:39,761 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 155 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=166, Invalid=1166, Unknown=0, NotChecked=0, Total=1332 [2022-04-27 11:36:39,761 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 157 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 916 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 162 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 937 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 916 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:39,762 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [162 Valid, 130 Invalid, 937 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 916 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-27 11:36:39,766 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-27 11:36:39,932 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 114. [2022-04-27 11:36:39,932 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:39,933 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-27 11:36:39,933 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-27 11:36:39,933 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-27 11:36:39,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:39,935 INFO L93 Difference]: Finished difference Result 116 states and 139 transitions. [2022-04-27 11:36:39,935 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 139 transitions. [2022-04-27 11:36:39,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:39,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:39,935 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-27 11:36:39,936 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-27 11:36:39,937 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:39,937 INFO L93 Difference]: Finished difference Result 116 states and 139 transitions. [2022-04-27 11:36:39,937 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 139 transitions. [2022-04-27 11:36:39,938 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:39,938 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:39,938 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:39,938 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:39,938 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-27 11:36:39,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 137 transitions. [2022-04-27 11:36:39,941 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 137 transitions. Word has length 40 [2022-04-27 11:36:39,941 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:39,941 INFO L495 AbstractCegarLoop]: Abstraction has 114 states and 137 transitions. [2022-04-27 11:36:39,941 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 2.32) internal successors, (58), 24 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:39,941 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 137 transitions. [2022-04-27 11:36:39,942 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-27 11:36:39,942 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:39,942 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:39,960 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-27 11:36:40,151 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:40,151 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:40,152 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:40,152 INFO L85 PathProgramCache]: Analyzing trace with hash -1295907854, now seen corresponding path program 11 times [2022-04-27 11:36:40,152 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:40,152 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1671700096] [2022-04-27 11:36:40,152 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:40,152 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:40,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:40,171 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:40,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:40,174 INFO L290 TraceCheckUtils]: 0: Hoare triple {10512#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {10482#true} is VALID [2022-04-27 11:36:40,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {10482#true} assume true; {10482#true} is VALID [2022-04-27 11:36:40,174 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10482#true} {10482#true} #117#return; {10482#true} is VALID [2022-04-27 11:36:40,174 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:40,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:40,198 INFO L290 TraceCheckUtils]: 0: Hoare triple {10482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {10513#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,198 INFO L290 TraceCheckUtils]: 1: Hoare triple {10513#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {10514#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,199 INFO L290 TraceCheckUtils]: 2: Hoare triple {10514#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,199 INFO L290 TraceCheckUtils]: 3: Hoare triple {10515#(<= 2 correct_version_~i~0)} assume !(~b~0 < ~n); {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,199 INFO L290 TraceCheckUtils]: 4: Hoare triple {10515#(<= 2 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,199 INFO L290 TraceCheckUtils]: 5: Hoare triple {10515#(<= 2 correct_version_~i~0)} assume !(~l~0 < ~m); {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,200 INFO L290 TraceCheckUtils]: 6: Hoare triple {10515#(<= 2 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {10516#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-27 11:36:40,200 INFO L290 TraceCheckUtils]: 7: Hoare triple {10516#(<= (+ 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; {10517#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:36:40,200 INFO L290 TraceCheckUtils]: 8: Hoare triple {10517#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {10483#false} is VALID [2022-04-27 11:36:40,200 INFO L290 TraceCheckUtils]: 9: Hoare triple {10483#false} #res := ~y~0; {10483#false} is VALID [2022-04-27 11:36:40,200 INFO L290 TraceCheckUtils]: 10: Hoare triple {10483#false} assume true; {10483#false} is VALID [2022-04-27 11:36:40,200 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {10483#false} {10482#true} #111#return; {10483#false} is VALID [2022-04-27 11:36:40,201 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-27 11:36:40,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:40,211 INFO L290 TraceCheckUtils]: 0: Hoare triple {10482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {10482#true} is VALID [2022-04-27 11:36:40,211 INFO L290 TraceCheckUtils]: 1: Hoare triple {10482#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {10482#true} is VALID [2022-04-27 11:36:40,211 INFO L290 TraceCheckUtils]: 2: Hoare triple {10482#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {10482#true} is VALID [2022-04-27 11:36:40,211 INFO L290 TraceCheckUtils]: 3: Hoare triple {10482#true} assume !(~b~1 < ~n); {10482#true} is VALID [2022-04-27 11:36:40,211 INFO L290 TraceCheckUtils]: 4: Hoare triple {10482#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10482#true} is VALID [2022-04-27 11:36:40,211 INFO L290 TraceCheckUtils]: 5: Hoare triple {10482#true} assume !(~l~1 < ~m); {10482#true} is VALID [2022-04-27 11:36:40,211 INFO L290 TraceCheckUtils]: 6: Hoare triple {10482#true} ~x~1 := 0;~y~1 := 0; {10482#true} is VALID [2022-04-27 11:36:40,211 INFO L290 TraceCheckUtils]: 7: Hoare triple {10482#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {10482#true} is VALID [2022-04-27 11:36:40,211 INFO L290 TraceCheckUtils]: 8: Hoare triple {10482#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {10482#true} is VALID [2022-04-27 11:36:40,211 INFO L290 TraceCheckUtils]: 9: Hoare triple {10482#true} assume !(~x~1 < ~i~1); {10482#true} is VALID [2022-04-27 11:36:40,211 INFO L290 TraceCheckUtils]: 10: Hoare triple {10482#true} #res := ~y~1; {10482#true} is VALID [2022-04-27 11:36:40,211 INFO L290 TraceCheckUtils]: 11: Hoare triple {10482#true} assume true; {10482#true} is VALID [2022-04-27 11:36:40,211 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10482#true} {10483#false} #113#return; {10483#false} is VALID [2022-04-27 11:36:40,212 INFO L272 TraceCheckUtils]: 0: Hoare triple {10482#true} call ULTIMATE.init(); {10512#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:40,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {10512#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {10482#true} is VALID [2022-04-27 11:36:40,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {10482#true} assume true; {10482#true} is VALID [2022-04-27 11:36:40,212 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10482#true} {10482#true} #117#return; {10482#true} is VALID [2022-04-27 11:36:40,212 INFO L272 TraceCheckUtils]: 4: Hoare triple {10482#true} call #t~ret10 := main(); {10482#true} is VALID [2022-04-27 11:36:40,212 INFO L290 TraceCheckUtils]: 5: Hoare triple {10482#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {10482#true} is VALID [2022-04-27 11:36:40,212 INFO L290 TraceCheckUtils]: 6: Hoare triple {10482#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {10482#true} is VALID [2022-04-27 11:36:40,212 INFO L272 TraceCheckUtils]: 7: Hoare triple {10482#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {10482#true} is VALID [2022-04-27 11:36:40,213 INFO L290 TraceCheckUtils]: 8: Hoare triple {10482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {10513#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {10513#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {10514#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,213 INFO L290 TraceCheckUtils]: 10: Hoare triple {10514#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,214 INFO L290 TraceCheckUtils]: 11: Hoare triple {10515#(<= 2 correct_version_~i~0)} assume !(~b~0 < ~n); {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,214 INFO L290 TraceCheckUtils]: 12: Hoare triple {10515#(<= 2 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,214 INFO L290 TraceCheckUtils]: 13: Hoare triple {10515#(<= 2 correct_version_~i~0)} assume !(~l~0 < ~m); {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,214 INFO L290 TraceCheckUtils]: 14: Hoare triple {10515#(<= 2 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {10516#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-27 11:36:40,215 INFO L290 TraceCheckUtils]: 15: Hoare triple {10516#(<= (+ 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; {10517#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:36:40,215 INFO L290 TraceCheckUtils]: 16: Hoare triple {10517#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {10483#false} is VALID [2022-04-27 11:36:40,215 INFO L290 TraceCheckUtils]: 17: Hoare triple {10483#false} #res := ~y~0; {10483#false} is VALID [2022-04-27 11:36:40,215 INFO L290 TraceCheckUtils]: 18: Hoare triple {10483#false} assume true; {10483#false} is VALID [2022-04-27 11:36:40,215 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {10483#false} {10482#true} #111#return; {10483#false} is VALID [2022-04-27 11:36:40,215 INFO L290 TraceCheckUtils]: 20: Hoare triple {10483#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {10483#false} is VALID [2022-04-27 11:36:40,216 INFO L272 TraceCheckUtils]: 21: Hoare triple {10483#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {10482#true} is VALID [2022-04-27 11:36:40,216 INFO L290 TraceCheckUtils]: 22: Hoare triple {10482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {10482#true} is VALID [2022-04-27 11:36:40,216 INFO L290 TraceCheckUtils]: 23: Hoare triple {10482#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {10482#true} is VALID [2022-04-27 11:36:40,216 INFO L290 TraceCheckUtils]: 24: Hoare triple {10482#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {10482#true} is VALID [2022-04-27 11:36:40,216 INFO L290 TraceCheckUtils]: 25: Hoare triple {10482#true} assume !(~b~1 < ~n); {10482#true} is VALID [2022-04-27 11:36:40,216 INFO L290 TraceCheckUtils]: 26: Hoare triple {10482#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10482#true} is VALID [2022-04-27 11:36:40,216 INFO L290 TraceCheckUtils]: 27: Hoare triple {10482#true} assume !(~l~1 < ~m); {10482#true} is VALID [2022-04-27 11:36:40,216 INFO L290 TraceCheckUtils]: 28: Hoare triple {10482#true} ~x~1 := 0;~y~1 := 0; {10482#true} is VALID [2022-04-27 11:36:40,216 INFO L290 TraceCheckUtils]: 29: Hoare triple {10482#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {10482#true} is VALID [2022-04-27 11:36:40,216 INFO L290 TraceCheckUtils]: 30: Hoare triple {10482#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {10482#true} is VALID [2022-04-27 11:36:40,216 INFO L290 TraceCheckUtils]: 31: Hoare triple {10482#true} assume !(~x~1 < ~i~1); {10482#true} is VALID [2022-04-27 11:36:40,216 INFO L290 TraceCheckUtils]: 32: Hoare triple {10482#true} #res := ~y~1; {10482#true} is VALID [2022-04-27 11:36:40,216 INFO L290 TraceCheckUtils]: 33: Hoare triple {10482#true} assume true; {10482#true} is VALID [2022-04-27 11:36:40,216 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10482#true} {10483#false} #113#return; {10483#false} is VALID [2022-04-27 11:36:40,216 INFO L290 TraceCheckUtils]: 35: Hoare triple {10483#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {10483#false} is VALID [2022-04-27 11:36:40,216 INFO L272 TraceCheckUtils]: 36: Hoare triple {10483#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {10483#false} is VALID [2022-04-27 11:36:40,216 INFO L290 TraceCheckUtils]: 37: Hoare triple {10483#false} ~cond := #in~cond; {10483#false} is VALID [2022-04-27 11:36:40,216 INFO L290 TraceCheckUtils]: 38: Hoare triple {10483#false} assume 0 == ~cond; {10483#false} is VALID [2022-04-27 11:36:40,217 INFO L290 TraceCheckUtils]: 39: Hoare triple {10483#false} assume !false; {10483#false} is VALID [2022-04-27 11:36:40,217 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-27 11:36:40,217 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:40,217 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1671700096] [2022-04-27 11:36:40,217 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1671700096] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:40,217 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1155844742] [2022-04-27 11:36:40,217 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 11:36:40,217 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:40,217 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:40,236 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-27 11:36:40,259 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-27 11:36:40,298 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:36:40,298 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:36:40,299 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-27 11:36:40,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:40,304 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:40,371 INFO L272 TraceCheckUtils]: 0: Hoare triple {10482#true} call ULTIMATE.init(); {10482#true} is VALID [2022-04-27 11:36:40,371 INFO L290 TraceCheckUtils]: 1: Hoare triple {10482#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {10482#true} is VALID [2022-04-27 11:36:40,371 INFO L290 TraceCheckUtils]: 2: Hoare triple {10482#true} assume true; {10482#true} is VALID [2022-04-27 11:36:40,371 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10482#true} {10482#true} #117#return; {10482#true} is VALID [2022-04-27 11:36:40,371 INFO L272 TraceCheckUtils]: 4: Hoare triple {10482#true} call #t~ret10 := main(); {10482#true} is VALID [2022-04-27 11:36:40,371 INFO L290 TraceCheckUtils]: 5: Hoare triple {10482#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {10482#true} is VALID [2022-04-27 11:36:40,371 INFO L290 TraceCheckUtils]: 6: Hoare triple {10482#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {10482#true} is VALID [2022-04-27 11:36:40,371 INFO L272 TraceCheckUtils]: 7: Hoare triple {10482#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {10482#true} is VALID [2022-04-27 11:36:40,372 INFO L290 TraceCheckUtils]: 8: Hoare triple {10482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {10513#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,372 INFO L290 TraceCheckUtils]: 9: Hoare triple {10513#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {10514#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,372 INFO L290 TraceCheckUtils]: 10: Hoare triple {10514#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,373 INFO L290 TraceCheckUtils]: 11: Hoare triple {10515#(<= 2 correct_version_~i~0)} assume !(~b~0 < ~n); {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,373 INFO L290 TraceCheckUtils]: 12: Hoare triple {10515#(<= 2 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,373 INFO L290 TraceCheckUtils]: 13: Hoare triple {10515#(<= 2 correct_version_~i~0)} assume !(~l~0 < ~m); {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,373 INFO L290 TraceCheckUtils]: 14: Hoare triple {10515#(<= 2 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {10563#(and (<= 2 correct_version_~i~0) (<= correct_version_~x~0 0))} is VALID [2022-04-27 11:36:40,374 INFO L290 TraceCheckUtils]: 15: Hoare triple {10563#(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; {10567#(and (<= correct_version_~x~0 1) (<= 2 correct_version_~i~0))} is VALID [2022-04-27 11:36:40,374 INFO L290 TraceCheckUtils]: 16: Hoare triple {10567#(and (<= correct_version_~x~0 1) (<= 2 correct_version_~i~0))} assume !(~x~0 < ~i~0); {10483#false} is VALID [2022-04-27 11:36:40,374 INFO L290 TraceCheckUtils]: 17: Hoare triple {10483#false} #res := ~y~0; {10483#false} is VALID [2022-04-27 11:36:40,374 INFO L290 TraceCheckUtils]: 18: Hoare triple {10483#false} assume true; {10483#false} is VALID [2022-04-27 11:36:40,374 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {10483#false} {10482#true} #111#return; {10483#false} is VALID [2022-04-27 11:36:40,374 INFO L290 TraceCheckUtils]: 20: Hoare triple {10483#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {10483#false} is VALID [2022-04-27 11:36:40,374 INFO L272 TraceCheckUtils]: 21: Hoare triple {10483#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {10483#false} is VALID [2022-04-27 11:36:40,374 INFO L290 TraceCheckUtils]: 22: Hoare triple {10483#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {10483#false} is VALID [2022-04-27 11:36:40,374 INFO L290 TraceCheckUtils]: 23: Hoare triple {10483#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {10483#false} is VALID [2022-04-27 11:36:40,374 INFO L290 TraceCheckUtils]: 24: Hoare triple {10483#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {10483#false} is VALID [2022-04-27 11:36:40,374 INFO L290 TraceCheckUtils]: 25: Hoare triple {10483#false} assume !(~b~1 < ~n); {10483#false} is VALID [2022-04-27 11:36:40,374 INFO L290 TraceCheckUtils]: 26: Hoare triple {10483#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10483#false} is VALID [2022-04-27 11:36:40,374 INFO L290 TraceCheckUtils]: 27: Hoare triple {10483#false} assume !(~l~1 < ~m); {10483#false} is VALID [2022-04-27 11:36:40,375 INFO L290 TraceCheckUtils]: 28: Hoare triple {10483#false} ~x~1 := 0;~y~1 := 0; {10483#false} is VALID [2022-04-27 11:36:40,375 INFO L290 TraceCheckUtils]: 29: Hoare triple {10483#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {10483#false} is VALID [2022-04-27 11:36:40,375 INFO L290 TraceCheckUtils]: 30: Hoare triple {10483#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {10483#false} is VALID [2022-04-27 11:36:40,375 INFO L290 TraceCheckUtils]: 31: Hoare triple {10483#false} assume !(~x~1 < ~i~1); {10483#false} is VALID [2022-04-27 11:36:40,375 INFO L290 TraceCheckUtils]: 32: Hoare triple {10483#false} #res := ~y~1; {10483#false} is VALID [2022-04-27 11:36:40,375 INFO L290 TraceCheckUtils]: 33: Hoare triple {10483#false} assume true; {10483#false} is VALID [2022-04-27 11:36:40,375 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10483#false} {10483#false} #113#return; {10483#false} is VALID [2022-04-27 11:36:40,375 INFO L290 TraceCheckUtils]: 35: Hoare triple {10483#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {10483#false} is VALID [2022-04-27 11:36:40,375 INFO L272 TraceCheckUtils]: 36: Hoare triple {10483#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {10483#false} is VALID [2022-04-27 11:36:40,375 INFO L290 TraceCheckUtils]: 37: Hoare triple {10483#false} ~cond := #in~cond; {10483#false} is VALID [2022-04-27 11:36:40,375 INFO L290 TraceCheckUtils]: 38: Hoare triple {10483#false} assume 0 == ~cond; {10483#false} is VALID [2022-04-27 11:36:40,375 INFO L290 TraceCheckUtils]: 39: Hoare triple {10483#false} assume !false; {10483#false} is VALID [2022-04-27 11:36:40,375 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-27 11:36:40,375 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:40,440 INFO L290 TraceCheckUtils]: 39: Hoare triple {10483#false} assume !false; {10483#false} is VALID [2022-04-27 11:36:40,440 INFO L290 TraceCheckUtils]: 38: Hoare triple {10483#false} assume 0 == ~cond; {10483#false} is VALID [2022-04-27 11:36:40,440 INFO L290 TraceCheckUtils]: 37: Hoare triple {10483#false} ~cond := #in~cond; {10483#false} is VALID [2022-04-27 11:36:40,440 INFO L272 TraceCheckUtils]: 36: Hoare triple {10483#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {10483#false} is VALID [2022-04-27 11:36:40,441 INFO L290 TraceCheckUtils]: 35: Hoare triple {10483#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {10483#false} is VALID [2022-04-27 11:36:40,441 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10482#true} {10483#false} #113#return; {10483#false} is VALID [2022-04-27 11:36:40,441 INFO L290 TraceCheckUtils]: 33: Hoare triple {10482#true} assume true; {10482#true} is VALID [2022-04-27 11:36:40,441 INFO L290 TraceCheckUtils]: 32: Hoare triple {10482#true} #res := ~y~1; {10482#true} is VALID [2022-04-27 11:36:40,441 INFO L290 TraceCheckUtils]: 31: Hoare triple {10482#true} assume !(~x~1 < ~i~1); {10482#true} is VALID [2022-04-27 11:36:40,441 INFO L290 TraceCheckUtils]: 30: Hoare triple {10482#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {10482#true} is VALID [2022-04-27 11:36:40,441 INFO L290 TraceCheckUtils]: 29: Hoare triple {10482#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {10482#true} is VALID [2022-04-27 11:36:40,441 INFO L290 TraceCheckUtils]: 28: Hoare triple {10482#true} ~x~1 := 0;~y~1 := 0; {10482#true} is VALID [2022-04-27 11:36:40,441 INFO L290 TraceCheckUtils]: 27: Hoare triple {10482#true} assume !(~l~1 < ~m); {10482#true} is VALID [2022-04-27 11:36:40,441 INFO L290 TraceCheckUtils]: 26: Hoare triple {10482#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {10482#true} is VALID [2022-04-27 11:36:40,441 INFO L290 TraceCheckUtils]: 25: Hoare triple {10482#true} assume !(~b~1 < ~n); {10482#true} is VALID [2022-04-27 11:36:40,441 INFO L290 TraceCheckUtils]: 24: Hoare triple {10482#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {10482#true} is VALID [2022-04-27 11:36:40,441 INFO L290 TraceCheckUtils]: 23: Hoare triple {10482#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {10482#true} is VALID [2022-04-27 11:36:40,441 INFO L290 TraceCheckUtils]: 22: Hoare triple {10482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {10482#true} is VALID [2022-04-27 11:36:40,441 INFO L272 TraceCheckUtils]: 21: Hoare triple {10483#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {10482#true} is VALID [2022-04-27 11:36:40,441 INFO L290 TraceCheckUtils]: 20: Hoare triple {10483#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {10483#false} is VALID [2022-04-27 11:36:40,441 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {10483#false} {10482#true} #111#return; {10483#false} is VALID [2022-04-27 11:36:40,442 INFO L290 TraceCheckUtils]: 18: Hoare triple {10483#false} assume true; {10483#false} is VALID [2022-04-27 11:36:40,442 INFO L290 TraceCheckUtils]: 17: Hoare triple {10483#false} #res := ~y~0; {10483#false} is VALID [2022-04-27 11:36:40,451 INFO L290 TraceCheckUtils]: 16: Hoare triple {10517#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {10483#false} is VALID [2022-04-27 11:36:40,451 INFO L290 TraceCheckUtils]: 15: Hoare triple {10516#(<= (+ 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; {10517#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:36:40,451 INFO L290 TraceCheckUtils]: 14: Hoare triple {10515#(<= 2 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {10516#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-27 11:36:40,452 INFO L290 TraceCheckUtils]: 13: Hoare triple {10515#(<= 2 correct_version_~i~0)} assume !(~l~0 < ~m); {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,452 INFO L290 TraceCheckUtils]: 12: Hoare triple {10515#(<= 2 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,452 INFO L290 TraceCheckUtils]: 11: Hoare triple {10515#(<= 2 correct_version_~i~0)} assume !(~b~0 < ~n); {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,452 INFO L290 TraceCheckUtils]: 10: Hoare triple {10514#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {10515#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,452 INFO L290 TraceCheckUtils]: 9: Hoare triple {10513#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {10514#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,453 INFO L290 TraceCheckUtils]: 8: Hoare triple {10482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {10513#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:36:40,453 INFO L272 TraceCheckUtils]: 7: Hoare triple {10482#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {10482#true} is VALID [2022-04-27 11:36:40,453 INFO L290 TraceCheckUtils]: 6: Hoare triple {10482#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {10482#true} is VALID [2022-04-27 11:36:40,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {10482#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {10482#true} is VALID [2022-04-27 11:36:40,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {10482#true} call #t~ret10 := main(); {10482#true} is VALID [2022-04-27 11:36:40,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10482#true} {10482#true} #117#return; {10482#true} is VALID [2022-04-27 11:36:40,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {10482#true} assume true; {10482#true} is VALID [2022-04-27 11:36:40,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {10482#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {10482#true} is VALID [2022-04-27 11:36:40,453 INFO L272 TraceCheckUtils]: 0: Hoare triple {10482#true} call ULTIMATE.init(); {10482#true} is VALID [2022-04-27 11:36:40,453 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-27 11:36:40,453 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1155844742] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:40,454 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:40,454 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 10 [2022-04-27 11:36:40,454 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [230377147] [2022-04-27 11:36:40,454 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:40,454 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-27 11:36:40,454 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:40,454 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:40,473 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:36:40,473 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 11:36:40,473 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:40,473 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 11:36:40,474 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=59, Unknown=0, NotChecked=0, Total=90 [2022-04-27 11:36:40,474 INFO L87 Difference]: Start difference. First operand 114 states and 137 transitions. Second operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:40,712 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:40,712 INFO L93 Difference]: Finished difference Result 170 states and 199 transitions. [2022-04-27 11:36:40,712 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 11:36:40,712 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-27 11:36:40,712 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:40,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:40,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-27 11:36:40,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:40,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-27 11:36:40,714 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 72 transitions. [2022-04-27 11:36:40,742 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-27 11:36:40,744 INFO L225 Difference]: With dead ends: 170 [2022-04-27 11:36:40,744 INFO L226 Difference]: Without dead ends: 105 [2022-04-27 11:36:40,744 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 83 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=84, Invalid=156, Unknown=0, NotChecked=0, Total=240 [2022-04-27 11:36:40,745 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 53 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 87 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 104 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 87 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:40,745 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 48 Invalid, 104 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 87 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:36:40,745 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2022-04-27 11:36:40,840 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 97. [2022-04-27 11:36:40,840 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:40,840 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-27 11:36:40,840 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-27 11:36:40,841 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-27 11:36:40,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:40,842 INFO L93 Difference]: Finished difference Result 105 states and 124 transitions. [2022-04-27 11:36:40,842 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 124 transitions. [2022-04-27 11:36:40,842 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:40,842 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:40,843 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-27 11:36:40,843 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-27 11:36:40,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:40,844 INFO L93 Difference]: Finished difference Result 105 states and 124 transitions. [2022-04-27 11:36:40,844 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 124 transitions. [2022-04-27 11:36:40,844 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:40,844 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:40,844 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:40,844 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:40,845 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-27 11:36:40,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 114 transitions. [2022-04-27 11:36:40,846 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 114 transitions. Word has length 40 [2022-04-27 11:36:40,846 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:40,846 INFO L495 AbstractCegarLoop]: Abstraction has 97 states and 114 transitions. [2022-04-27 11:36:40,846 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:40,846 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 114 transitions. [2022-04-27 11:36:40,847 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-27 11:36:40,847 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:40,847 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:40,865 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-27 11:36:41,047 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-27 11:36:41,047 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:41,047 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:41,048 INFO L85 PathProgramCache]: Analyzing trace with hash 1335621997, now seen corresponding path program 12 times [2022-04-27 11:36:41,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:41,048 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1172445147] [2022-04-27 11:36:41,048 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:41,048 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:41,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:41,098 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:41,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:41,101 INFO L290 TraceCheckUtils]: 0: Hoare triple {11375#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {11345#true} is VALID [2022-04-27 11:36:41,101 INFO L290 TraceCheckUtils]: 1: Hoare triple {11345#true} assume true; {11345#true} is VALID [2022-04-27 11:36:41,101 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11345#true} {11345#true} #117#return; {11345#true} is VALID [2022-04-27 11:36:41,101 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:41,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:41,106 INFO L290 TraceCheckUtils]: 0: Hoare triple {11345#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {11345#true} is VALID [2022-04-27 11:36:41,106 INFO L290 TraceCheckUtils]: 1: Hoare triple {11345#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {11345#true} is VALID [2022-04-27 11:36:41,106 INFO L290 TraceCheckUtils]: 2: Hoare triple {11345#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {11345#true} is VALID [2022-04-27 11:36:41,106 INFO L290 TraceCheckUtils]: 3: Hoare triple {11345#true} assume !(~b~0 < ~n); {11345#true} is VALID [2022-04-27 11:36:41,106 INFO L290 TraceCheckUtils]: 4: Hoare triple {11345#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11345#true} is VALID [2022-04-27 11:36:41,106 INFO L290 TraceCheckUtils]: 5: Hoare triple {11345#true} assume !(~l~0 < ~m); {11345#true} is VALID [2022-04-27 11:36:41,106 INFO L290 TraceCheckUtils]: 6: Hoare triple {11345#true} ~x~0 := 0;~y~0 := 0; {11345#true} is VALID [2022-04-27 11:36:41,106 INFO L290 TraceCheckUtils]: 7: Hoare triple {11345#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {11345#true} is VALID [2022-04-27 11:36:41,106 INFO L290 TraceCheckUtils]: 8: Hoare triple {11345#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {11345#true} is VALID [2022-04-27 11:36:41,106 INFO L290 TraceCheckUtils]: 9: Hoare triple {11345#true} assume !(~x~0 < ~i~0); {11345#true} is VALID [2022-04-27 11:36:41,106 INFO L290 TraceCheckUtils]: 10: Hoare triple {11345#true} #res := ~y~0; {11345#true} is VALID [2022-04-27 11:36:41,106 INFO L290 TraceCheckUtils]: 11: Hoare triple {11345#true} assume true; {11345#true} is VALID [2022-04-27 11:36:41,106 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {11345#true} {11345#true} #111#return; {11345#true} is VALID [2022-04-27 11:36:41,107 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-27 11:36:41,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:41,133 INFO L290 TraceCheckUtils]: 0: Hoare triple {11345#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {11376#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:36:41,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {11376#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {11377#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:36:41,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {11377#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,134 INFO L290 TraceCheckUtils]: 3: Hoare triple {11378#(<= 2 student_version_~i~1)} assume !(~b~1 < ~n); {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,134 INFO L290 TraceCheckUtils]: 4: Hoare triple {11378#(<= 2 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,135 INFO L290 TraceCheckUtils]: 5: Hoare triple {11378#(<= 2 student_version_~i~1)} assume !(~l~1 < ~m); {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,135 INFO L290 TraceCheckUtils]: 6: Hoare triple {11378#(<= 2 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {11379#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:36:41,135 INFO L290 TraceCheckUtils]: 7: Hoare triple {11379#(<= (+ 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; {11380#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:36:41,136 INFO L290 TraceCheckUtils]: 8: Hoare triple {11380#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {11346#false} is VALID [2022-04-27 11:36:41,136 INFO L290 TraceCheckUtils]: 9: Hoare triple {11346#false} #res := ~y~1; {11346#false} is VALID [2022-04-27 11:36:41,136 INFO L290 TraceCheckUtils]: 10: Hoare triple {11346#false} assume true; {11346#false} is VALID [2022-04-27 11:36:41,136 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {11346#false} {11345#true} #113#return; {11346#false} is VALID [2022-04-27 11:36:41,136 INFO L272 TraceCheckUtils]: 0: Hoare triple {11345#true} call ULTIMATE.init(); {11375#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:41,136 INFO L290 TraceCheckUtils]: 1: Hoare triple {11375#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {11345#true} is VALID [2022-04-27 11:36:41,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {11345#true} assume true; {11345#true} is VALID [2022-04-27 11:36:41,136 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11345#true} {11345#true} #117#return; {11345#true} is VALID [2022-04-27 11:36:41,136 INFO L272 TraceCheckUtils]: 4: Hoare triple {11345#true} call #t~ret10 := main(); {11345#true} is VALID [2022-04-27 11:36:41,136 INFO L290 TraceCheckUtils]: 5: Hoare triple {11345#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L290 TraceCheckUtils]: 6: Hoare triple {11345#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L272 TraceCheckUtils]: 7: Hoare triple {11345#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L290 TraceCheckUtils]: 8: Hoare triple {11345#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L290 TraceCheckUtils]: 9: Hoare triple {11345#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L290 TraceCheckUtils]: 10: Hoare triple {11345#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L290 TraceCheckUtils]: 11: Hoare triple {11345#true} assume !(~b~0 < ~n); {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L290 TraceCheckUtils]: 12: Hoare triple {11345#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L290 TraceCheckUtils]: 13: Hoare triple {11345#true} assume !(~l~0 < ~m); {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L290 TraceCheckUtils]: 14: Hoare triple {11345#true} ~x~0 := 0;~y~0 := 0; {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L290 TraceCheckUtils]: 15: Hoare triple {11345#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L290 TraceCheckUtils]: 16: Hoare triple {11345#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L290 TraceCheckUtils]: 17: Hoare triple {11345#true} assume !(~x~0 < ~i~0); {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L290 TraceCheckUtils]: 18: Hoare triple {11345#true} #res := ~y~0; {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L290 TraceCheckUtils]: 19: Hoare triple {11345#true} assume true; {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {11345#true} {11345#true} #111#return; {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L290 TraceCheckUtils]: 21: Hoare triple {11345#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {11345#true} is VALID [2022-04-27 11:36:41,137 INFO L272 TraceCheckUtils]: 22: Hoare triple {11345#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {11345#true} is VALID [2022-04-27 11:36:41,138 INFO L290 TraceCheckUtils]: 23: Hoare triple {11345#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {11376#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:36:41,138 INFO L290 TraceCheckUtils]: 24: Hoare triple {11376#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {11377#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:36:41,139 INFO L290 TraceCheckUtils]: 25: Hoare triple {11377#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,139 INFO L290 TraceCheckUtils]: 26: Hoare triple {11378#(<= 2 student_version_~i~1)} assume !(~b~1 < ~n); {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,139 INFO L290 TraceCheckUtils]: 27: Hoare triple {11378#(<= 2 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,139 INFO L290 TraceCheckUtils]: 28: Hoare triple {11378#(<= 2 student_version_~i~1)} assume !(~l~1 < ~m); {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,140 INFO L290 TraceCheckUtils]: 29: Hoare triple {11378#(<= 2 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {11379#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:36:41,140 INFO L290 TraceCheckUtils]: 30: Hoare triple {11379#(<= (+ 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; {11380#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:36:41,140 INFO L290 TraceCheckUtils]: 31: Hoare triple {11380#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {11346#false} is VALID [2022-04-27 11:36:41,140 INFO L290 TraceCheckUtils]: 32: Hoare triple {11346#false} #res := ~y~1; {11346#false} is VALID [2022-04-27 11:36:41,140 INFO L290 TraceCheckUtils]: 33: Hoare triple {11346#false} assume true; {11346#false} is VALID [2022-04-27 11:36:41,140 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {11346#false} {11345#true} #113#return; {11346#false} is VALID [2022-04-27 11:36:41,141 INFO L290 TraceCheckUtils]: 35: Hoare triple {11346#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {11346#false} is VALID [2022-04-27 11:36:41,141 INFO L272 TraceCheckUtils]: 36: Hoare triple {11346#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {11346#false} is VALID [2022-04-27 11:36:41,141 INFO L290 TraceCheckUtils]: 37: Hoare triple {11346#false} ~cond := #in~cond; {11346#false} is VALID [2022-04-27 11:36:41,141 INFO L290 TraceCheckUtils]: 38: Hoare triple {11346#false} assume 0 == ~cond; {11346#false} is VALID [2022-04-27 11:36:41,141 INFO L290 TraceCheckUtils]: 39: Hoare triple {11346#false} assume !false; {11346#false} is VALID [2022-04-27 11:36:41,141 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-27 11:36:41,141 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:41,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1172445147] [2022-04-27 11:36:41,141 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1172445147] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:41,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1046556365] [2022-04-27 11:36:41,141 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-27 11:36:41,141 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:41,141 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:41,143 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-27 11:36:41,179 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-27 11:36:41,211 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2022-04-27 11:36:41,211 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:36:41,212 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-27 11:36:41,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:41,220 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:41,320 INFO L272 TraceCheckUtils]: 0: Hoare triple {11345#true} call ULTIMATE.init(); {11345#true} is VALID [2022-04-27 11:36:41,320 INFO L290 TraceCheckUtils]: 1: Hoare triple {11345#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {11345#true} is VALID [2022-04-27 11:36:41,320 INFO L290 TraceCheckUtils]: 2: Hoare triple {11345#true} assume true; {11345#true} is VALID [2022-04-27 11:36:41,320 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11345#true} {11345#true} #117#return; {11345#true} is VALID [2022-04-27 11:36:41,320 INFO L272 TraceCheckUtils]: 4: Hoare triple {11345#true} call #t~ret10 := main(); {11345#true} is VALID [2022-04-27 11:36:41,320 INFO L290 TraceCheckUtils]: 5: Hoare triple {11345#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {11345#true} is VALID [2022-04-27 11:36:41,320 INFO L290 TraceCheckUtils]: 6: Hoare triple {11345#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {11345#true} is VALID [2022-04-27 11:36:41,320 INFO L272 TraceCheckUtils]: 7: Hoare triple {11345#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {11345#true} is VALID [2022-04-27 11:36:41,320 INFO L290 TraceCheckUtils]: 8: Hoare triple {11345#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {11345#true} is VALID [2022-04-27 11:36:41,320 INFO L290 TraceCheckUtils]: 9: Hoare triple {11345#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {11345#true} is VALID [2022-04-27 11:36:41,320 INFO L290 TraceCheckUtils]: 10: Hoare triple {11345#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {11345#true} is VALID [2022-04-27 11:36:41,321 INFO L290 TraceCheckUtils]: 11: Hoare triple {11345#true} assume !(~b~0 < ~n); {11345#true} is VALID [2022-04-27 11:36:41,321 INFO L290 TraceCheckUtils]: 12: Hoare triple {11345#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11345#true} is VALID [2022-04-27 11:36:41,321 INFO L290 TraceCheckUtils]: 13: Hoare triple {11345#true} assume !(~l~0 < ~m); {11345#true} is VALID [2022-04-27 11:36:41,321 INFO L290 TraceCheckUtils]: 14: Hoare triple {11345#true} ~x~0 := 0;~y~0 := 0; {11345#true} is VALID [2022-04-27 11:36:41,321 INFO L290 TraceCheckUtils]: 15: Hoare triple {11345#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {11345#true} is VALID [2022-04-27 11:36:41,321 INFO L290 TraceCheckUtils]: 16: Hoare triple {11345#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {11345#true} is VALID [2022-04-27 11:36:41,321 INFO L290 TraceCheckUtils]: 17: Hoare triple {11345#true} assume !(~x~0 < ~i~0); {11345#true} is VALID [2022-04-27 11:36:41,321 INFO L290 TraceCheckUtils]: 18: Hoare triple {11345#true} #res := ~y~0; {11345#true} is VALID [2022-04-27 11:36:41,321 INFO L290 TraceCheckUtils]: 19: Hoare triple {11345#true} assume true; {11345#true} is VALID [2022-04-27 11:36:41,321 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {11345#true} {11345#true} #111#return; {11345#true} is VALID [2022-04-27 11:36:41,321 INFO L290 TraceCheckUtils]: 21: Hoare triple {11345#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {11345#true} is VALID [2022-04-27 11:36:41,321 INFO L272 TraceCheckUtils]: 22: Hoare triple {11345#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {11345#true} is VALID [2022-04-27 11:36:41,323 INFO L290 TraceCheckUtils]: 23: Hoare triple {11345#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {11376#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:36:41,324 INFO L290 TraceCheckUtils]: 24: Hoare triple {11376#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {11377#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:36:41,325 INFO L290 TraceCheckUtils]: 25: Hoare triple {11377#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,325 INFO L290 TraceCheckUtils]: 26: Hoare triple {11378#(<= 2 student_version_~i~1)} assume !(~b~1 < ~n); {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,325 INFO L290 TraceCheckUtils]: 27: Hoare triple {11378#(<= 2 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,325 INFO L290 TraceCheckUtils]: 28: Hoare triple {11378#(<= 2 student_version_~i~1)} assume !(~l~1 < ~m); {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,326 INFO L290 TraceCheckUtils]: 29: Hoare triple {11378#(<= 2 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {11471#(and (<= student_version_~x~1 0) (<= 2 student_version_~i~1))} is VALID [2022-04-27 11:36:41,326 INFO L290 TraceCheckUtils]: 30: Hoare triple {11471#(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; {11475#(and (<= 2 student_version_~i~1) (<= student_version_~x~1 1))} is VALID [2022-04-27 11:36:41,326 INFO L290 TraceCheckUtils]: 31: Hoare triple {11475#(and (<= 2 student_version_~i~1) (<= student_version_~x~1 1))} assume !(~x~1 < ~i~1); {11346#false} is VALID [2022-04-27 11:36:41,326 INFO L290 TraceCheckUtils]: 32: Hoare triple {11346#false} #res := ~y~1; {11346#false} is VALID [2022-04-27 11:36:41,326 INFO L290 TraceCheckUtils]: 33: Hoare triple {11346#false} assume true; {11346#false} is VALID [2022-04-27 11:36:41,327 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {11346#false} {11345#true} #113#return; {11346#false} is VALID [2022-04-27 11:36:41,327 INFO L290 TraceCheckUtils]: 35: Hoare triple {11346#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {11346#false} is VALID [2022-04-27 11:36:41,327 INFO L272 TraceCheckUtils]: 36: Hoare triple {11346#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {11346#false} is VALID [2022-04-27 11:36:41,327 INFO L290 TraceCheckUtils]: 37: Hoare triple {11346#false} ~cond := #in~cond; {11346#false} is VALID [2022-04-27 11:36:41,327 INFO L290 TraceCheckUtils]: 38: Hoare triple {11346#false} assume 0 == ~cond; {11346#false} is VALID [2022-04-27 11:36:41,327 INFO L290 TraceCheckUtils]: 39: Hoare triple {11346#false} assume !false; {11346#false} is VALID [2022-04-27 11:36:41,327 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-27 11:36:41,327 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:41,405 INFO L290 TraceCheckUtils]: 39: Hoare triple {11346#false} assume !false; {11346#false} is VALID [2022-04-27 11:36:41,405 INFO L290 TraceCheckUtils]: 38: Hoare triple {11346#false} assume 0 == ~cond; {11346#false} is VALID [2022-04-27 11:36:41,405 INFO L290 TraceCheckUtils]: 37: Hoare triple {11346#false} ~cond := #in~cond; {11346#false} is VALID [2022-04-27 11:36:41,405 INFO L272 TraceCheckUtils]: 36: Hoare triple {11346#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {11346#false} is VALID [2022-04-27 11:36:41,405 INFO L290 TraceCheckUtils]: 35: Hoare triple {11346#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {11346#false} is VALID [2022-04-27 11:36:41,405 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {11346#false} {11345#true} #113#return; {11346#false} is VALID [2022-04-27 11:36:41,405 INFO L290 TraceCheckUtils]: 33: Hoare triple {11346#false} assume true; {11346#false} is VALID [2022-04-27 11:36:41,405 INFO L290 TraceCheckUtils]: 32: Hoare triple {11346#false} #res := ~y~1; {11346#false} is VALID [2022-04-27 11:36:41,406 INFO L290 TraceCheckUtils]: 31: Hoare triple {11380#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {11346#false} is VALID [2022-04-27 11:36:41,406 INFO L290 TraceCheckUtils]: 30: Hoare triple {11379#(<= (+ 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; {11380#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:36:41,406 INFO L290 TraceCheckUtils]: 29: Hoare triple {11378#(<= 2 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {11379#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:36:41,406 INFO L290 TraceCheckUtils]: 28: Hoare triple {11378#(<= 2 student_version_~i~1)} assume !(~l~1 < ~m); {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,407 INFO L290 TraceCheckUtils]: 27: Hoare triple {11378#(<= 2 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,407 INFO L290 TraceCheckUtils]: 26: Hoare triple {11378#(<= 2 student_version_~i~1)} assume !(~b~1 < ~n); {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,407 INFO L290 TraceCheckUtils]: 25: Hoare triple {11377#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {11378#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:36:41,407 INFO L290 TraceCheckUtils]: 24: Hoare triple {11376#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {11377#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:36:41,408 INFO L290 TraceCheckUtils]: 23: Hoare triple {11345#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {11376#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:36:41,408 INFO L272 TraceCheckUtils]: 22: Hoare triple {11345#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {11345#true} is VALID [2022-04-27 11:36:41,408 INFO L290 TraceCheckUtils]: 21: Hoare triple {11345#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {11345#true} is VALID [2022-04-27 11:36:41,408 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {11345#true} {11345#true} #111#return; {11345#true} is VALID [2022-04-27 11:36:41,408 INFO L290 TraceCheckUtils]: 19: Hoare triple {11345#true} assume true; {11345#true} is VALID [2022-04-27 11:36:41,408 INFO L290 TraceCheckUtils]: 18: Hoare triple {11345#true} #res := ~y~0; {11345#true} is VALID [2022-04-27 11:36:41,408 INFO L290 TraceCheckUtils]: 17: Hoare triple {11345#true} assume !(~x~0 < ~i~0); {11345#true} is VALID [2022-04-27 11:36:41,408 INFO L290 TraceCheckUtils]: 16: Hoare triple {11345#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {11345#true} is VALID [2022-04-27 11:36:41,408 INFO L290 TraceCheckUtils]: 15: Hoare triple {11345#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {11345#true} is VALID [2022-04-27 11:36:41,408 INFO L290 TraceCheckUtils]: 14: Hoare triple {11345#true} ~x~0 := 0;~y~0 := 0; {11345#true} is VALID [2022-04-27 11:36:41,408 INFO L290 TraceCheckUtils]: 13: Hoare triple {11345#true} assume !(~l~0 < ~m); {11345#true} is VALID [2022-04-27 11:36:41,408 INFO L290 TraceCheckUtils]: 12: Hoare triple {11345#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {11345#true} is VALID [2022-04-27 11:36:41,408 INFO L290 TraceCheckUtils]: 11: Hoare triple {11345#true} assume !(~b~0 < ~n); {11345#true} is VALID [2022-04-27 11:36:41,408 INFO L290 TraceCheckUtils]: 10: Hoare triple {11345#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {11345#true} is VALID [2022-04-27 11:36:41,409 INFO L290 TraceCheckUtils]: 9: Hoare triple {11345#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {11345#true} is VALID [2022-04-27 11:36:41,409 INFO L290 TraceCheckUtils]: 8: Hoare triple {11345#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {11345#true} is VALID [2022-04-27 11:36:41,409 INFO L272 TraceCheckUtils]: 7: Hoare triple {11345#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {11345#true} is VALID [2022-04-27 11:36:41,409 INFO L290 TraceCheckUtils]: 6: Hoare triple {11345#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {11345#true} is VALID [2022-04-27 11:36:41,409 INFO L290 TraceCheckUtils]: 5: Hoare triple {11345#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {11345#true} is VALID [2022-04-27 11:36:41,409 INFO L272 TraceCheckUtils]: 4: Hoare triple {11345#true} call #t~ret10 := main(); {11345#true} is VALID [2022-04-27 11:36:41,409 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11345#true} {11345#true} #117#return; {11345#true} is VALID [2022-04-27 11:36:41,409 INFO L290 TraceCheckUtils]: 2: Hoare triple {11345#true} assume true; {11345#true} is VALID [2022-04-27 11:36:41,409 INFO L290 TraceCheckUtils]: 1: Hoare triple {11345#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {11345#true} is VALID [2022-04-27 11:36:41,409 INFO L272 TraceCheckUtils]: 0: Hoare triple {11345#true} call ULTIMATE.init(); {11345#true} is VALID [2022-04-27 11:36:41,409 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-27 11:36:41,409 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1046556365] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:41,409 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:41,409 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 10 [2022-04-27 11:36:41,410 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [54740988] [2022-04-27 11:36:41,410 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:41,410 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 40 [2022-04-27 11:36:41,410 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:41,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:36:41,426 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-27 11:36:41,426 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 11:36:41,426 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:41,426 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 11:36:41,426 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=59, Unknown=0, NotChecked=0, Total=90 [2022-04-27 11:36:41,426 INFO L87 Difference]: Start difference. First operand 97 states and 114 transitions. Second operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:36:41,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:41,723 INFO L93 Difference]: Finished difference Result 115 states and 134 transitions. [2022-04-27 11:36:41,723 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 11:36:41,723 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 40 [2022-04-27 11:36:41,724 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:41,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:36:41,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 59 transitions. [2022-04-27 11:36:41,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:36:41,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 59 transitions. [2022-04-27 11:36:41,731 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 59 transitions. [2022-04-27 11:36:41,756 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-27 11:36:41,757 INFO L225 Difference]: With dead ends: 115 [2022-04-27 11:36:41,757 INFO L226 Difference]: Without dead ends: 100 [2022-04-27 11:36:41,757 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 83 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=84, Invalid=156, Unknown=0, NotChecked=0, Total=240 [2022-04-27 11:36:41,758 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 51 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 170 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 61 SdHoareTripleChecker+Invalid, 185 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 170 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:41,758 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 61 Invalid, 185 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 170 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:36:41,758 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-27 11:36:41,869 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 100. [2022-04-27 11:36:41,869 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:41,869 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-27 11:36:41,869 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-27 11:36:41,869 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-27 11:36:41,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:41,895 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-27 11:36:41,895 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-27 11:36:41,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:41,896 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:41,896 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-27 11:36:41,896 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-27 11:36:41,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:41,897 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-27 11:36:41,897 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-27 11:36:41,898 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:41,898 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:41,898 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:41,898 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:41,898 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-27 11:36:41,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 117 transitions. [2022-04-27 11:36:41,899 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 117 transitions. Word has length 40 [2022-04-27 11:36:41,899 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:41,899 INFO L495 AbstractCegarLoop]: Abstraction has 100 states and 117 transitions. [2022-04-27 11:36:41,899 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:36:41,899 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-27 11:36:41,900 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-27 11:36:41,900 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:41,900 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:41,918 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-27 11:36:42,100 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-27 11:36:42,100 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:42,101 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:42,101 INFO L85 PathProgramCache]: Analyzing trace with hash -1943349171, now seen corresponding path program 13 times [2022-04-27 11:36:42,101 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:42,101 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [274639277] [2022-04-27 11:36:42,101 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:42,101 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:42,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:42,186 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:42,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:42,188 INFO L290 TraceCheckUtils]: 0: Hoare triple {12170#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {12133#true} is VALID [2022-04-27 11:36:42,188 INFO L290 TraceCheckUtils]: 1: Hoare triple {12133#true} assume true; {12133#true} is VALID [2022-04-27 11:36:42,189 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {12133#true} {12133#true} #117#return; {12133#true} is VALID [2022-04-27 11:36:42,189 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:42,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:42,286 INFO L290 TraceCheckUtils]: 0: Hoare triple {12133#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:42,287 INFO L290 TraceCheckUtils]: 1: Hoare triple {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:42,287 INFO L290 TraceCheckUtils]: 2: Hoare triple {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:42,287 INFO L290 TraceCheckUtils]: 3: Hoare triple {12171#(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; {12172#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:42,288 INFO L290 TraceCheckUtils]: 4: Hoare triple {12172#(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; {12173#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:36:42,288 INFO L290 TraceCheckUtils]: 5: Hoare triple {12173#(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; {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:36:42,289 INFO L290 TraceCheckUtils]: 6: Hoare triple {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:36:42,289 INFO L290 TraceCheckUtils]: 7: Hoare triple {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {12175#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} is VALID [2022-04-27 11:36:42,289 INFO L290 TraceCheckUtils]: 8: Hoare triple {12175#(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; {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:36:42,290 INFO L290 TraceCheckUtils]: 9: Hoare triple {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:36:42,290 INFO L290 TraceCheckUtils]: 10: Hoare triple {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:36:42,290 INFO L290 TraceCheckUtils]: 11: Hoare triple {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:36:42,291 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {12133#true} #111#return; {12151#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-27 11:36:42,291 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-27 11:36:42,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:42,434 INFO L290 TraceCheckUtils]: 0: Hoare triple {12133#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:42,434 INFO L290 TraceCheckUtils]: 1: Hoare triple {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:42,435 INFO L290 TraceCheckUtils]: 2: Hoare triple {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:42,435 INFO L290 TraceCheckUtils]: 3: Hoare triple {12178#(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; {12179#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:42,435 INFO L290 TraceCheckUtils]: 4: Hoare triple {12179#(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; {12180#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:36:42,436 INFO L290 TraceCheckUtils]: 5: Hoare triple {12180#(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; {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:36:42,436 INFO L290 TraceCheckUtils]: 6: Hoare triple {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:36:42,436 INFO L290 TraceCheckUtils]: 7: Hoare triple {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {12182#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} is VALID [2022-04-27 11:36:42,437 INFO L290 TraceCheckUtils]: 8: Hoare triple {12182#(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; {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:36:42,437 INFO L290 TraceCheckUtils]: 9: Hoare triple {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:36:42,437 INFO L290 TraceCheckUtils]: 10: Hoare triple {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:36:42,437 INFO L290 TraceCheckUtils]: 11: Hoare triple {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:36:42,438 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {12152#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {12166#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:36:42,438 INFO L272 TraceCheckUtils]: 0: Hoare triple {12133#true} call ULTIMATE.init(); {12170#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:42,438 INFO L290 TraceCheckUtils]: 1: Hoare triple {12170#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {12133#true} is VALID [2022-04-27 11:36:42,438 INFO L290 TraceCheckUtils]: 2: Hoare triple {12133#true} assume true; {12133#true} is VALID [2022-04-27 11:36:42,439 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12133#true} {12133#true} #117#return; {12133#true} is VALID [2022-04-27 11:36:42,439 INFO L272 TraceCheckUtils]: 4: Hoare triple {12133#true} call #t~ret10 := main(); {12133#true} is VALID [2022-04-27 11:36:42,439 INFO L290 TraceCheckUtils]: 5: Hoare triple {12133#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {12133#true} is VALID [2022-04-27 11:36:42,439 INFO L290 TraceCheckUtils]: 6: Hoare triple {12133#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {12133#true} is VALID [2022-04-27 11:36:42,439 INFO L272 TraceCheckUtils]: 7: Hoare triple {12133#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {12133#true} is VALID [2022-04-27 11:36:42,439 INFO L290 TraceCheckUtils]: 8: Hoare triple {12133#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:42,439 INFO L290 TraceCheckUtils]: 9: Hoare triple {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:42,440 INFO L290 TraceCheckUtils]: 10: Hoare triple {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:42,440 INFO L290 TraceCheckUtils]: 11: Hoare triple {12171#(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; {12172#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:42,440 INFO L290 TraceCheckUtils]: 12: Hoare triple {12172#(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; {12173#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:36:42,441 INFO L290 TraceCheckUtils]: 13: Hoare triple {12173#(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; {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:36:42,441 INFO L290 TraceCheckUtils]: 14: Hoare triple {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:36:42,441 INFO L290 TraceCheckUtils]: 15: Hoare triple {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {12175#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} is VALID [2022-04-27 11:36:42,441 INFO L290 TraceCheckUtils]: 16: Hoare triple {12175#(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; {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:36:42,442 INFO L290 TraceCheckUtils]: 17: Hoare triple {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:36:42,442 INFO L290 TraceCheckUtils]: 18: Hoare triple {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:36:42,442 INFO L290 TraceCheckUtils]: 19: Hoare triple {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:36:42,443 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {12133#true} #111#return; {12151#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-27 11:36:42,443 INFO L290 TraceCheckUtils]: 21: Hoare triple {12151#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {12152#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} is VALID [2022-04-27 11:36:42,443 INFO L272 TraceCheckUtils]: 22: Hoare triple {12152#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {12133#true} is VALID [2022-04-27 11:36:42,443 INFO L290 TraceCheckUtils]: 23: Hoare triple {12133#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:42,443 INFO L290 TraceCheckUtils]: 24: Hoare triple {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:42,444 INFO L290 TraceCheckUtils]: 25: Hoare triple {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:42,444 INFO L290 TraceCheckUtils]: 26: Hoare triple {12178#(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; {12179#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:42,444 INFO L290 TraceCheckUtils]: 27: Hoare triple {12179#(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; {12180#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:36:42,445 INFO L290 TraceCheckUtils]: 28: Hoare triple {12180#(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; {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:36:42,445 INFO L290 TraceCheckUtils]: 29: Hoare triple {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:36:42,445 INFO L290 TraceCheckUtils]: 30: Hoare triple {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {12182#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} is VALID [2022-04-27 11:36:42,446 INFO L290 TraceCheckUtils]: 31: Hoare triple {12182#(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; {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:36:42,446 INFO L290 TraceCheckUtils]: 32: Hoare triple {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:36:42,446 INFO L290 TraceCheckUtils]: 33: Hoare triple {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:36:42,446 INFO L290 TraceCheckUtils]: 34: Hoare triple {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:36:42,447 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {12152#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {12166#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:36:42,447 INFO L290 TraceCheckUtils]: 36: Hoare triple {12166#(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; {12167#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:36:42,448 INFO L272 TraceCheckUtils]: 37: Hoare triple {12167#(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)); {12168#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:36:42,448 INFO L290 TraceCheckUtils]: 38: Hoare triple {12168#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {12169#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:36:42,448 INFO L290 TraceCheckUtils]: 39: Hoare triple {12169#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {12134#false} is VALID [2022-04-27 11:36:42,448 INFO L290 TraceCheckUtils]: 40: Hoare triple {12134#false} assume !false; {12134#false} is VALID [2022-04-27 11:36:42,448 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-27 11:36:42,448 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:42,448 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [274639277] [2022-04-27 11:36:42,448 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [274639277] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:42,449 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [903644248] [2022-04-27 11:36:42,449 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-04-27 11:36:42,449 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:42,449 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:42,463 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-27 11:36:42,479 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-27 11:36:42,524 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:42,525 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-27 11:36:42,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:42,538 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:42,980 INFO L272 TraceCheckUtils]: 0: Hoare triple {12133#true} call ULTIMATE.init(); {12133#true} is VALID [2022-04-27 11:36:42,980 INFO L290 TraceCheckUtils]: 1: Hoare triple {12133#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {12133#true} is VALID [2022-04-27 11:36:42,980 INFO L290 TraceCheckUtils]: 2: Hoare triple {12133#true} assume true; {12133#true} is VALID [2022-04-27 11:36:42,980 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12133#true} {12133#true} #117#return; {12133#true} is VALID [2022-04-27 11:36:42,980 INFO L272 TraceCheckUtils]: 4: Hoare triple {12133#true} call #t~ret10 := main(); {12133#true} is VALID [2022-04-27 11:36:42,980 INFO L290 TraceCheckUtils]: 5: Hoare triple {12133#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {12133#true} is VALID [2022-04-27 11:36:42,980 INFO L290 TraceCheckUtils]: 6: Hoare triple {12133#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {12133#true} is VALID [2022-04-27 11:36:42,980 INFO L272 TraceCheckUtils]: 7: Hoare triple {12133#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {12133#true} is VALID [2022-04-27 11:36:42,981 INFO L290 TraceCheckUtils]: 8: Hoare triple {12133#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:42,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:42,981 INFO L290 TraceCheckUtils]: 10: Hoare triple {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:42,982 INFO L290 TraceCheckUtils]: 11: Hoare triple {12171#(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; {12172#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:42,982 INFO L290 TraceCheckUtils]: 12: Hoare triple {12172#(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; {12173#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:36:42,983 INFO L290 TraceCheckUtils]: 13: Hoare triple {12173#(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; {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:36:42,983 INFO L290 TraceCheckUtils]: 14: Hoare triple {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:36:42,984 INFO L290 TraceCheckUtils]: 15: Hoare triple {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {12233#(and (<= 3 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:36:42,984 INFO L290 TraceCheckUtils]: 16: Hoare triple {12233#(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; {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:36:42,984 INFO L290 TraceCheckUtils]: 17: Hoare triple {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:36:42,985 INFO L290 TraceCheckUtils]: 18: Hoare triple {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:36:42,985 INFO L290 TraceCheckUtils]: 19: Hoare triple {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:36:42,986 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {12133#true} #111#return; {12151#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-27 11:36:42,986 INFO L290 TraceCheckUtils]: 21: Hoare triple {12151#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {12152#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} is VALID [2022-04-27 11:36:42,986 INFO L272 TraceCheckUtils]: 22: Hoare triple {12152#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {12133#true} is VALID [2022-04-27 11:36:42,987 INFO L290 TraceCheckUtils]: 23: Hoare triple {12133#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:42,987 INFO L290 TraceCheckUtils]: 24: Hoare triple {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:42,987 INFO L290 TraceCheckUtils]: 25: Hoare triple {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:42,988 INFO L290 TraceCheckUtils]: 26: Hoare triple {12178#(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; {12179#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:42,988 INFO L290 TraceCheckUtils]: 27: Hoare triple {12179#(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; {12180#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:36:42,989 INFO L290 TraceCheckUtils]: 28: Hoare triple {12180#(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; {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:36:42,989 INFO L290 TraceCheckUtils]: 29: Hoare triple {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:36:42,989 INFO L290 TraceCheckUtils]: 30: Hoare triple {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {12279#(and (= student_version_~y~1 0) (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:36:42,990 INFO L290 TraceCheckUtils]: 31: Hoare triple {12279#(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; {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:36:42,990 INFO L290 TraceCheckUtils]: 32: Hoare triple {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:36:42,991 INFO L290 TraceCheckUtils]: 33: Hoare triple {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:36:42,991 INFO L290 TraceCheckUtils]: 34: Hoare triple {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:36:42,992 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {12152#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {12295#(and (<= 3 main_~n_stones1~0) (<= |main_#t~ret9| 3) (<= main_~n_stones1~0 3) (<= 3 |main_#t~ret9|))} is VALID [2022-04-27 11:36:42,992 INFO L290 TraceCheckUtils]: 36: Hoare triple {12295#(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; {12299#(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-27 11:36:42,993 INFO L272 TraceCheckUtils]: 37: Hoare triple {12299#(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)); {12303#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:36:42,993 INFO L290 TraceCheckUtils]: 38: Hoare triple {12303#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12307#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:36:42,993 INFO L290 TraceCheckUtils]: 39: Hoare triple {12307#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12134#false} is VALID [2022-04-27 11:36:42,993 INFO L290 TraceCheckUtils]: 40: Hoare triple {12134#false} assume !false; {12134#false} is VALID [2022-04-27 11:36:42,993 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-27 11:36:42,994 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:43,332 INFO L290 TraceCheckUtils]: 40: Hoare triple {12134#false} assume !false; {12134#false} is VALID [2022-04-27 11:36:43,333 INFO L290 TraceCheckUtils]: 39: Hoare triple {12307#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12134#false} is VALID [2022-04-27 11:36:43,333 INFO L290 TraceCheckUtils]: 38: Hoare triple {12303#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12307#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:36:43,334 INFO L272 TraceCheckUtils]: 37: Hoare triple {12167#(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)); {12303#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:36:43,334 INFO L290 TraceCheckUtils]: 36: Hoare triple {12166#(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; {12167#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:36:43,335 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {12152#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {12166#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:36:43,335 INFO L290 TraceCheckUtils]: 34: Hoare triple {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:36:43,335 INFO L290 TraceCheckUtils]: 33: Hoare triple {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {12184#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:36:43,335 INFO L290 TraceCheckUtils]: 32: Hoare triple {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:36:43,336 INFO L290 TraceCheckUtils]: 31: Hoare triple {12182#(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; {12183#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:36:43,336 INFO L290 TraceCheckUtils]: 30: Hoare triple {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {12182#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} is VALID [2022-04-27 11:36:43,336 INFO L290 TraceCheckUtils]: 29: Hoare triple {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:36:43,337 INFO L290 TraceCheckUtils]: 28: Hoare triple {12180#(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; {12181#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:36:43,337 INFO L290 TraceCheckUtils]: 27: Hoare triple {12179#(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; {12180#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:36:43,337 INFO L290 TraceCheckUtils]: 26: Hoare triple {12178#(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; {12179#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:43,338 INFO L290 TraceCheckUtils]: 25: Hoare triple {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:43,338 INFO L290 TraceCheckUtils]: 24: Hoare triple {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:43,338 INFO L290 TraceCheckUtils]: 23: Hoare triple {12133#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {12178#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:43,338 INFO L272 TraceCheckUtils]: 22: Hoare triple {12152#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {12133#true} is VALID [2022-04-27 11:36:43,339 INFO L290 TraceCheckUtils]: 21: Hoare triple {12151#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {12152#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} is VALID [2022-04-27 11:36:43,339 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {12133#true} #111#return; {12151#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-27 11:36:43,339 INFO L290 TraceCheckUtils]: 19: Hoare triple {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:36:43,340 INFO L290 TraceCheckUtils]: 18: Hoare triple {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {12177#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:36:43,340 INFO L290 TraceCheckUtils]: 17: Hoare triple {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:36:43,340 INFO L290 TraceCheckUtils]: 16: Hoare triple {12175#(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; {12176#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:36:43,341 INFO L290 TraceCheckUtils]: 15: Hoare triple {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {12175#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} is VALID [2022-04-27 11:36:43,341 INFO L290 TraceCheckUtils]: 14: Hoare triple {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:36:43,341 INFO L290 TraceCheckUtils]: 13: Hoare triple {12173#(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; {12174#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:36:43,342 INFO L290 TraceCheckUtils]: 12: Hoare triple {12172#(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; {12173#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:36:43,342 INFO L290 TraceCheckUtils]: 11: Hoare triple {12171#(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; {12172#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:43,342 INFO L290 TraceCheckUtils]: 10: Hoare triple {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:43,342 INFO L290 TraceCheckUtils]: 9: Hoare triple {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:43,343 INFO L290 TraceCheckUtils]: 8: Hoare triple {12133#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {12171#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:43,343 INFO L272 TraceCheckUtils]: 7: Hoare triple {12133#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {12133#true} is VALID [2022-04-27 11:36:43,343 INFO L290 TraceCheckUtils]: 6: Hoare triple {12133#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {12133#true} is VALID [2022-04-27 11:36:43,343 INFO L290 TraceCheckUtils]: 5: Hoare triple {12133#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {12133#true} is VALID [2022-04-27 11:36:43,343 INFO L272 TraceCheckUtils]: 4: Hoare triple {12133#true} call #t~ret10 := main(); {12133#true} is VALID [2022-04-27 11:36:43,343 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12133#true} {12133#true} #117#return; {12133#true} is VALID [2022-04-27 11:36:43,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {12133#true} assume true; {12133#true} is VALID [2022-04-27 11:36:43,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {12133#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {12133#true} is VALID [2022-04-27 11:36:43,343 INFO L272 TraceCheckUtils]: 0: Hoare triple {12133#true} call ULTIMATE.init(); {12133#true} is VALID [2022-04-27 11:36:43,343 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-27 11:36:43,344 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [903644248] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:43,344 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:43,344 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 22, 22] total 29 [2022-04-27 11:36:43,344 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1614944627] [2022-04-27 11:36:43,344 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:43,344 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 26 states have (on average 1.5769230769230769) internal successors, (41), 23 states have internal predecessors, (41), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 41 [2022-04-27 11:36:43,344 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:43,344 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 29 states, 26 states have (on average 1.5769230769230769) internal successors, (41), 23 states have internal predecessors, (41), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:43,367 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-27 11:36:43,367 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-27 11:36:43,367 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:43,367 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-27 11:36:43,367 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=747, Unknown=0, NotChecked=0, Total=812 [2022-04-27 11:36:43,368 INFO L87 Difference]: Start difference. First operand 100 states and 117 transitions. Second operand has 29 states, 26 states have (on average 1.5769230769230769) internal successors, (41), 23 states have internal predecessors, (41), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:45,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:45,848 INFO L93 Difference]: Finished difference Result 140 states and 164 transitions. [2022-04-27 11:36:45,848 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-27 11:36:45,848 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 26 states have (on average 1.5769230769230769) internal successors, (41), 23 states have internal predecessors, (41), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 41 [2022-04-27 11:36:45,848 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:45,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 26 states have (on average 1.5769230769230769) internal successors, (41), 23 states have internal predecessors, (41), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:45,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 110 transitions. [2022-04-27 11:36:45,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 26 states have (on average 1.5769230769230769) internal successors, (41), 23 states have internal predecessors, (41), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:45,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 110 transitions. [2022-04-27 11:36:45,850 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 110 transitions. [2022-04-27 11:36:45,925 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-27 11:36:45,927 INFO L225 Difference]: With dead ends: 140 [2022-04-27 11:36:45,927 INFO L226 Difference]: Without dead ends: 134 [2022-04-27 11:36:45,928 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 76 SyntacticMatches, 5 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 343 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=181, Invalid=2269, Unknown=0, NotChecked=0, Total=2450 [2022-04-27 11:36:45,928 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 105 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 1763 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 109 SdHoareTripleChecker+Valid, 176 SdHoareTripleChecker+Invalid, 1795 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 1763 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:45,929 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [109 Valid, 176 Invalid, 1795 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 1763 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-27 11:36:45,929 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 134 states. [2022-04-27 11:36:46,137 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 134 to 116. [2022-04-27 11:36:46,137 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:46,138 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-27 11:36:46,138 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-27 11:36:46,138 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-27 11:36:46,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:46,140 INFO L93 Difference]: Finished difference Result 134 states and 158 transitions. [2022-04-27 11:36:46,140 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 158 transitions. [2022-04-27 11:36:46,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:46,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:46,140 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-27 11:36:46,140 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-27 11:36:46,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:46,142 INFO L93 Difference]: Finished difference Result 134 states and 158 transitions. [2022-04-27 11:36:46,142 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 158 transitions. [2022-04-27 11:36:46,142 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:46,142 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:46,143 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:46,143 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:46,143 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-27 11:36:46,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 136 transitions. [2022-04-27 11:36:46,144 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 136 transitions. Word has length 41 [2022-04-27 11:36:46,144 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:46,144 INFO L495 AbstractCegarLoop]: Abstraction has 116 states and 136 transitions. [2022-04-27 11:36:46,144 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 26 states have (on average 1.5769230769230769) internal successors, (41), 23 states have internal predecessors, (41), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:46,144 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 136 transitions. [2022-04-27 11:36:46,145 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-27 11:36:46,145 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:46,145 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:46,163 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-27 11:36:46,363 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-04-27 11:36:46,363 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:46,363 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:46,364 INFO L85 PathProgramCache]: Analyzing trace with hash -196254195, now seen corresponding path program 14 times [2022-04-27 11:36:46,364 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:46,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [975671228] [2022-04-27 11:36:46,364 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:46,364 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:46,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:46,436 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:46,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:46,441 INFO L290 TraceCheckUtils]: 0: Hoare triple {13141#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {13104#true} is VALID [2022-04-27 11:36:46,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {13104#true} assume true; {13104#true} is VALID [2022-04-27 11:36:46,442 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13104#true} {13104#true} #117#return; {13104#true} is VALID [2022-04-27 11:36:46,442 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:46,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:46,522 INFO L290 TraceCheckUtils]: 0: Hoare triple {13104#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:46,523 INFO L290 TraceCheckUtils]: 1: Hoare triple {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:46,523 INFO L290 TraceCheckUtils]: 2: Hoare triple {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:46,524 INFO L290 TraceCheckUtils]: 3: Hoare triple {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:46,524 INFO L290 TraceCheckUtils]: 4: Hoare triple {13142#(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; {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:46,525 INFO L290 TraceCheckUtils]: 5: Hoare triple {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:46,525 INFO L290 TraceCheckUtils]: 6: Hoare triple {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {13144#(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-27 11:36:46,525 INFO L290 TraceCheckUtils]: 7: Hoare triple {13144#(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; {13145#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:36:46,526 INFO L290 TraceCheckUtils]: 8: Hoare triple {13145#(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; {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:46,526 INFO L290 TraceCheckUtils]: 9: Hoare triple {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:46,527 INFO L290 TraceCheckUtils]: 10: Hoare triple {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:46,527 INFO L290 TraceCheckUtils]: 11: Hoare triple {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:46,528 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {13104#true} #111#return; {13122#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-27 11:36:46,528 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-27 11:36:46,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:46,639 INFO L290 TraceCheckUtils]: 0: Hoare triple {13104#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:46,640 INFO L290 TraceCheckUtils]: 1: Hoare triple {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:46,640 INFO L290 TraceCheckUtils]: 2: Hoare triple {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:46,641 INFO L290 TraceCheckUtils]: 3: Hoare triple {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:46,641 INFO L290 TraceCheckUtils]: 4: Hoare triple {13148#(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; {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:46,642 INFO L290 TraceCheckUtils]: 5: Hoare triple {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:46,642 INFO L290 TraceCheckUtils]: 6: Hoare triple {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {13150#(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-27 11:36:46,642 INFO L290 TraceCheckUtils]: 7: Hoare triple {13150#(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; {13151#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} is VALID [2022-04-27 11:36:46,643 INFO L290 TraceCheckUtils]: 8: Hoare triple {13151#(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; {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:46,643 INFO L290 TraceCheckUtils]: 9: Hoare triple {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:46,644 INFO L290 TraceCheckUtils]: 10: Hoare triple {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:46,644 INFO L290 TraceCheckUtils]: 11: Hoare triple {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:46,645 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {13123#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {13137#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:36:46,646 INFO L272 TraceCheckUtils]: 0: Hoare triple {13104#true} call ULTIMATE.init(); {13141#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:46,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {13141#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {13104#true} is VALID [2022-04-27 11:36:46,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {13104#true} assume true; {13104#true} is VALID [2022-04-27 11:36:46,646 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13104#true} {13104#true} #117#return; {13104#true} is VALID [2022-04-27 11:36:46,646 INFO L272 TraceCheckUtils]: 4: Hoare triple {13104#true} call #t~ret10 := main(); {13104#true} is VALID [2022-04-27 11:36:46,646 INFO L290 TraceCheckUtils]: 5: Hoare triple {13104#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {13104#true} is VALID [2022-04-27 11:36:46,646 INFO L290 TraceCheckUtils]: 6: Hoare triple {13104#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {13104#true} is VALID [2022-04-27 11:36:46,646 INFO L272 TraceCheckUtils]: 7: Hoare triple {13104#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {13104#true} is VALID [2022-04-27 11:36:46,646 INFO L290 TraceCheckUtils]: 8: Hoare triple {13104#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:46,647 INFO L290 TraceCheckUtils]: 9: Hoare triple {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:46,647 INFO L290 TraceCheckUtils]: 10: Hoare triple {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:46,648 INFO L290 TraceCheckUtils]: 11: Hoare triple {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:46,648 INFO L290 TraceCheckUtils]: 12: Hoare triple {13142#(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; {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:46,648 INFO L290 TraceCheckUtils]: 13: Hoare triple {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:46,649 INFO L290 TraceCheckUtils]: 14: Hoare triple {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {13144#(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-27 11:36:46,649 INFO L290 TraceCheckUtils]: 15: Hoare triple {13144#(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; {13145#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:36:46,650 INFO L290 TraceCheckUtils]: 16: Hoare triple {13145#(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; {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:46,650 INFO L290 TraceCheckUtils]: 17: Hoare triple {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:46,650 INFO L290 TraceCheckUtils]: 18: Hoare triple {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:46,651 INFO L290 TraceCheckUtils]: 19: Hoare triple {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:46,651 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {13104#true} #111#return; {13122#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-27 11:36:46,652 INFO L290 TraceCheckUtils]: 21: Hoare triple {13122#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {13123#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} is VALID [2022-04-27 11:36:46,652 INFO L272 TraceCheckUtils]: 22: Hoare triple {13123#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {13104#true} is VALID [2022-04-27 11:36:46,652 INFO L290 TraceCheckUtils]: 23: Hoare triple {13104#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:46,652 INFO L290 TraceCheckUtils]: 24: Hoare triple {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:46,653 INFO L290 TraceCheckUtils]: 25: Hoare triple {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:46,653 INFO L290 TraceCheckUtils]: 26: Hoare triple {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:46,654 INFO L290 TraceCheckUtils]: 27: Hoare triple {13148#(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; {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:46,654 INFO L290 TraceCheckUtils]: 28: Hoare triple {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:46,654 INFO L290 TraceCheckUtils]: 29: Hoare triple {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {13150#(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-27 11:36:46,655 INFO L290 TraceCheckUtils]: 30: Hoare triple {13150#(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; {13151#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} is VALID [2022-04-27 11:36:46,655 INFO L290 TraceCheckUtils]: 31: Hoare triple {13151#(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; {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:46,656 INFO L290 TraceCheckUtils]: 32: Hoare triple {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:46,656 INFO L290 TraceCheckUtils]: 33: Hoare triple {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:46,656 INFO L290 TraceCheckUtils]: 34: Hoare triple {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:46,657 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {13123#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {13137#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:36:46,658 INFO L290 TraceCheckUtils]: 36: Hoare triple {13137#(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; {13138#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:36:46,658 INFO L272 TraceCheckUtils]: 37: Hoare triple {13138#(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)); {13139#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:36:46,659 INFO L290 TraceCheckUtils]: 38: Hoare triple {13139#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {13140#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:36:46,659 INFO L290 TraceCheckUtils]: 39: Hoare triple {13140#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {13105#false} is VALID [2022-04-27 11:36:46,659 INFO L290 TraceCheckUtils]: 40: Hoare triple {13105#false} assume !false; {13105#false} is VALID [2022-04-27 11:36:46,659 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-27 11:36:46,659 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:46,659 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [975671228] [2022-04-27 11:36:46,659 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [975671228] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:46,659 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [208595883] [2022-04-27 11:36:46,659 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:36:46,659 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:46,660 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:46,676 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-27 11:36:46,677 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-27 11:36:46,721 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:36:46,721 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:36:46,722 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-27 11:36:46,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:46,732 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:47,160 INFO L272 TraceCheckUtils]: 0: Hoare triple {13104#true} call ULTIMATE.init(); {13104#true} is VALID [2022-04-27 11:36:47,161 INFO L290 TraceCheckUtils]: 1: Hoare triple {13104#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {13104#true} is VALID [2022-04-27 11:36:47,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {13104#true} assume true; {13104#true} is VALID [2022-04-27 11:36:47,161 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13104#true} {13104#true} #117#return; {13104#true} is VALID [2022-04-27 11:36:47,161 INFO L272 TraceCheckUtils]: 4: Hoare triple {13104#true} call #t~ret10 := main(); {13104#true} is VALID [2022-04-27 11:36:47,161 INFO L290 TraceCheckUtils]: 5: Hoare triple {13104#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {13104#true} is VALID [2022-04-27 11:36:47,161 INFO L290 TraceCheckUtils]: 6: Hoare triple {13104#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {13104#true} is VALID [2022-04-27 11:36:47,161 INFO L272 TraceCheckUtils]: 7: Hoare triple {13104#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {13104#true} is VALID [2022-04-27 11:36:47,161 INFO L290 TraceCheckUtils]: 8: Hoare triple {13104#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:47,161 INFO L290 TraceCheckUtils]: 9: Hoare triple {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:47,162 INFO L290 TraceCheckUtils]: 10: Hoare triple {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:47,162 INFO L290 TraceCheckUtils]: 11: Hoare triple {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:47,162 INFO L290 TraceCheckUtils]: 12: Hoare triple {13142#(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; {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:47,163 INFO L290 TraceCheckUtils]: 13: Hoare triple {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:47,163 INFO L290 TraceCheckUtils]: 14: Hoare triple {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {13199#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:47,163 INFO L290 TraceCheckUtils]: 15: Hoare triple {13199#(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; {13203#(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-27 11:36:47,163 INFO L290 TraceCheckUtils]: 16: Hoare triple {13203#(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; {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:47,164 INFO L290 TraceCheckUtils]: 17: Hoare triple {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:47,164 INFO L290 TraceCheckUtils]: 18: Hoare triple {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:47,164 INFO L290 TraceCheckUtils]: 19: Hoare triple {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:47,165 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {13104#true} #111#return; {13122#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-27 11:36:47,165 INFO L290 TraceCheckUtils]: 21: Hoare triple {13122#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {13123#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} is VALID [2022-04-27 11:36:47,165 INFO L272 TraceCheckUtils]: 22: Hoare triple {13123#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {13104#true} is VALID [2022-04-27 11:36:47,165 INFO L290 TraceCheckUtils]: 23: Hoare triple {13104#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:47,165 INFO L290 TraceCheckUtils]: 24: Hoare triple {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:47,166 INFO L290 TraceCheckUtils]: 25: Hoare triple {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:47,166 INFO L290 TraceCheckUtils]: 26: Hoare triple {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:47,166 INFO L290 TraceCheckUtils]: 27: Hoare triple {13148#(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; {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:47,167 INFO L290 TraceCheckUtils]: 28: Hoare triple {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:47,167 INFO L290 TraceCheckUtils]: 29: Hoare triple {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {13246#(and (= student_version_~y~1 0) (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:47,167 INFO L290 TraceCheckUtils]: 30: Hoare triple {13246#(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; {13250#(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-27 11:36:47,167 INFO L290 TraceCheckUtils]: 31: Hoare triple {13250#(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; {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:47,168 INFO L290 TraceCheckUtils]: 32: Hoare triple {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:47,168 INFO L290 TraceCheckUtils]: 33: Hoare triple {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:47,168 INFO L290 TraceCheckUtils]: 34: Hoare triple {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:47,169 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {13123#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {13266#(and (<= |main_#t~ret9| 2) (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2) (<= 2 |main_#t~ret9|))} is VALID [2022-04-27 11:36:47,169 INFO L290 TraceCheckUtils]: 36: Hoare triple {13266#(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; {13270#(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-27 11:36:47,170 INFO L272 TraceCheckUtils]: 37: Hoare triple {13270#(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)); {13274#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:36:47,170 INFO L290 TraceCheckUtils]: 38: Hoare triple {13274#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13278#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:36:47,170 INFO L290 TraceCheckUtils]: 39: Hoare triple {13278#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13105#false} is VALID [2022-04-27 11:36:47,170 INFO L290 TraceCheckUtils]: 40: Hoare triple {13105#false} assume !false; {13105#false} is VALID [2022-04-27 11:36:47,170 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-27 11:36:47,170 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:47,480 INFO L290 TraceCheckUtils]: 40: Hoare triple {13105#false} assume !false; {13105#false} is VALID [2022-04-27 11:36:47,481 INFO L290 TraceCheckUtils]: 39: Hoare triple {13278#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13105#false} is VALID [2022-04-27 11:36:47,481 INFO L290 TraceCheckUtils]: 38: Hoare triple {13274#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13278#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:36:47,482 INFO L272 TraceCheckUtils]: 37: Hoare triple {13138#(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)); {13274#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:36:47,482 INFO L290 TraceCheckUtils]: 36: Hoare triple {13137#(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; {13138#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:36:47,483 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} {13123#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} #113#return; {13137#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:36:47,483 INFO L290 TraceCheckUtils]: 34: Hoare triple {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} assume true; {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:47,484 INFO L290 TraceCheckUtils]: 33: Hoare triple {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} #res := ~y~1; {13153#(and (<= |student_version_#res| 2) (<= 2 |student_version_#res|))} is VALID [2022-04-27 11:36:47,484 INFO L290 TraceCheckUtils]: 32: Hoare triple {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} assume !(~x~1 < ~i~1); {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:47,484 INFO L290 TraceCheckUtils]: 31: Hoare triple {13151#(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; {13152#(and (<= student_version_~y~1 2) (<= 2 student_version_~y~1))} is VALID [2022-04-27 11:36:47,485 INFO L290 TraceCheckUtils]: 30: Hoare triple {13150#(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; {13151#(and (<= 2 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 2))} is VALID [2022-04-27 11:36:47,485 INFO L290 TraceCheckUtils]: 29: Hoare triple {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {13150#(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-27 11:36:47,486 INFO L290 TraceCheckUtils]: 28: Hoare triple {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:47,486 INFO L290 TraceCheckUtils]: 27: Hoare triple {13148#(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; {13149#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:36:47,486 INFO L290 TraceCheckUtils]: 26: Hoare triple {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:47,487 INFO L290 TraceCheckUtils]: 25: Hoare triple {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:47,487 INFO L290 TraceCheckUtils]: 24: Hoare triple {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:47,487 INFO L290 TraceCheckUtils]: 23: Hoare triple {13104#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {13148#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:36:47,487 INFO L272 TraceCheckUtils]: 22: Hoare triple {13123#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {13104#true} is VALID [2022-04-27 11:36:47,488 INFO L290 TraceCheckUtils]: 21: Hoare triple {13122#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {13123#(and (<= 2 main_~n_stones1~0) (<= main_~n_stones1~0 2))} is VALID [2022-04-27 11:36:47,488 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} {13104#true} #111#return; {13122#(and (<= 2 |main_#t~ret8|) (<= |main_#t~ret8| 2))} is VALID [2022-04-27 11:36:47,489 INFO L290 TraceCheckUtils]: 19: Hoare triple {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} assume true; {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:47,489 INFO L290 TraceCheckUtils]: 18: Hoare triple {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} #res := ~y~0; {13147#(and (<= |correct_version_#res| 2) (<= 2 |correct_version_#res|))} is VALID [2022-04-27 11:36:47,489 INFO L290 TraceCheckUtils]: 17: Hoare triple {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} assume !(~x~0 < ~i~0); {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:47,490 INFO L290 TraceCheckUtils]: 16: Hoare triple {13145#(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; {13146#(and (<= correct_version_~y~0 2) (<= 2 correct_version_~y~0))} is VALID [2022-04-27 11:36:47,490 INFO L290 TraceCheckUtils]: 15: Hoare triple {13144#(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; {13145#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 2) (<= 2 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:36:47,491 INFO L290 TraceCheckUtils]: 14: Hoare triple {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {13144#(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-27 11:36:47,491 INFO L290 TraceCheckUtils]: 13: Hoare triple {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:47,492 INFO L290 TraceCheckUtils]: 12: Hoare triple {13142#(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; {13143#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:36:47,492 INFO L290 TraceCheckUtils]: 11: Hoare triple {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:47,492 INFO L290 TraceCheckUtils]: 10: Hoare triple {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:47,493 INFO L290 TraceCheckUtils]: 9: Hoare triple {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:47,493 INFO L290 TraceCheckUtils]: 8: Hoare triple {13104#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {13142#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:36:47,493 INFO L272 TraceCheckUtils]: 7: Hoare triple {13104#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {13104#true} is VALID [2022-04-27 11:36:47,493 INFO L290 TraceCheckUtils]: 6: Hoare triple {13104#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {13104#true} is VALID [2022-04-27 11:36:47,493 INFO L290 TraceCheckUtils]: 5: Hoare triple {13104#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {13104#true} is VALID [2022-04-27 11:36:47,493 INFO L272 TraceCheckUtils]: 4: Hoare triple {13104#true} call #t~ret10 := main(); {13104#true} is VALID [2022-04-27 11:36:47,493 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13104#true} {13104#true} #117#return; {13104#true} is VALID [2022-04-27 11:36:47,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {13104#true} assume true; {13104#true} is VALID [2022-04-27 11:36:47,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {13104#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {13104#true} is VALID [2022-04-27 11:36:47,493 INFO L272 TraceCheckUtils]: 0: Hoare triple {13104#true} call ULTIMATE.init(); {13104#true} is VALID [2022-04-27 11:36:47,494 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-27 11:36:47,494 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [208595883] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:47,494 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:47,494 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 29 [2022-04-27 11:36:47,494 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [801953938] [2022-04-27 11:36:47,494 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:47,494 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 26 states have (on average 1.5769230769230769) internal successors, (41), 23 states have internal predecessors, (41), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 41 [2022-04-27 11:36:47,495 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:47,495 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 29 states, 26 states have (on average 1.5769230769230769) internal successors, (41), 23 states have internal predecessors, (41), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:47,528 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-27 11:36:47,528 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-27 11:36:47,528 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:47,528 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-27 11:36:47,529 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=743, Unknown=0, NotChecked=0, Total=812 [2022-04-27 11:36:47,529 INFO L87 Difference]: Start difference. First operand 116 states and 136 transitions. Second operand has 29 states, 26 states have (on average 1.5769230769230769) internal successors, (41), 23 states have internal predecessors, (41), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:49,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:49,376 INFO L93 Difference]: Finished difference Result 134 states and 157 transitions. [2022-04-27 11:36:49,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-27 11:36:49,377 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 26 states have (on average 1.5769230769230769) internal successors, (41), 23 states have internal predecessors, (41), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 41 [2022-04-27 11:36:49,377 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:49,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 26 states have (on average 1.5769230769230769) internal successors, (41), 23 states have internal predecessors, (41), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:49,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 80 transitions. [2022-04-27 11:36:49,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 26 states have (on average 1.5769230769230769) internal successors, (41), 23 states have internal predecessors, (41), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:49,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 80 transitions. [2022-04-27 11:36:49,378 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 80 transitions. [2022-04-27 11:36:49,435 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-27 11:36:49,437 INFO L225 Difference]: With dead ends: 134 [2022-04-27 11:36:49,437 INFO L226 Difference]: Without dead ends: 128 [2022-04-27 11:36:49,438 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 70 SyntacticMatches, 9 SemanticMatches, 46 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 362 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=183, Invalid=2073, Unknown=0, NotChecked=0, Total=2256 [2022-04-27 11:36:49,438 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 60 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 1059 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 1087 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 1059 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:49,438 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [61 Valid, 148 Invalid, 1087 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 1059 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-27 11:36:49,439 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-27 11:36:49,598 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 126. [2022-04-27 11:36:49,599 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:49,599 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-27 11:36:49,599 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-27 11:36:49,599 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-27 11:36:49,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:49,601 INFO L93 Difference]: Finished difference Result 128 states and 151 transitions. [2022-04-27 11:36:49,601 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 151 transitions. [2022-04-27 11:36:49,601 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:49,601 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:49,601 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-27 11:36:49,601 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-27 11:36:49,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:49,603 INFO L93 Difference]: Finished difference Result 128 states and 151 transitions. [2022-04-27 11:36:49,603 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 151 transitions. [2022-04-27 11:36:49,603 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:49,603 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:49,603 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:49,603 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:49,604 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-27 11:36:49,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 149 transitions. [2022-04-27 11:36:49,605 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 149 transitions. Word has length 41 [2022-04-27 11:36:49,605 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:49,605 INFO L495 AbstractCegarLoop]: Abstraction has 126 states and 149 transitions. [2022-04-27 11:36:49,605 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 26 states have (on average 1.5769230769230769) internal successors, (41), 23 states have internal predecessors, (41), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:36:49,606 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 149 transitions. [2022-04-27 11:36:49,606 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-27 11:36:49,606 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:49,606 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:49,647 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-27 11:36:49,816 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:49,816 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:49,816 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:49,817 INFO L85 PathProgramCache]: Analyzing trace with hash -1133754580, now seen corresponding path program 15 times [2022-04-27 11:36:49,817 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:49,817 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1521564034] [2022-04-27 11:36:49,817 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:49,817 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:49,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:49,849 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:49,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:49,852 INFO L290 TraceCheckUtils]: 0: Hoare triple {14096#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {14063#true} is VALID [2022-04-27 11:36:49,852 INFO L290 TraceCheckUtils]: 1: Hoare triple {14063#true} assume true; {14063#true} is VALID [2022-04-27 11:36:49,852 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {14063#true} {14063#true} #117#return; {14063#true} is VALID [2022-04-27 11:36:49,852 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:49,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:49,895 INFO L290 TraceCheckUtils]: 0: Hoare triple {14063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {14097#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:49,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {14097#(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; {14097#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:49,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {14097#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {14097#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:49,896 INFO L290 TraceCheckUtils]: 3: Hoare triple {14097#(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; {14098#(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-27 11:36:49,897 INFO L290 TraceCheckUtils]: 4: Hoare triple {14098#(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; {14099#(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-27 11:36:49,897 INFO L290 TraceCheckUtils]: 5: Hoare triple {14099#(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; {14100#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 |correct_version_#in~a|)))} is VALID [2022-04-27 11:36:49,898 INFO L290 TraceCheckUtils]: 6: Hoare triple {14100#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:49,898 INFO L290 TraceCheckUtils]: 7: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:49,898 INFO L290 TraceCheckUtils]: 8: Hoare triple {14101#(<= |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; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:49,898 INFO L290 TraceCheckUtils]: 9: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:49,898 INFO L290 TraceCheckUtils]: 10: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} #res := ~y~0; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:49,899 INFO L290 TraceCheckUtils]: 11: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume true; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:49,899 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} {14063#true} #111#return; {14081#(<= main_~m~0 (* main_~a~0 3))} is VALID [2022-04-27 11:36:49,899 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-27 11:36:49,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:49,971 INFO L290 TraceCheckUtils]: 0: Hoare triple {14063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {14102#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:49,971 INFO L290 TraceCheckUtils]: 1: Hoare triple {14102#(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; {14102#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:49,972 INFO L290 TraceCheckUtils]: 2: Hoare triple {14102#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {14102#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:49,972 INFO L290 TraceCheckUtils]: 3: Hoare triple {14102#(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; {14103#(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-27 11:36:49,972 INFO L290 TraceCheckUtils]: 4: Hoare triple {14103#(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; {14104#(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-27 11:36:49,973 INFO L290 TraceCheckUtils]: 5: Hoare triple {14104#(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; {14105#(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-27 11:36:49,973 INFO L290 TraceCheckUtils]: 6: Hoare triple {14105#(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; {14106#(and (<= (+ (* |student_version_#in~a| 3) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:49,973 INFO L290 TraceCheckUtils]: 7: Hoare triple {14106#(and (<= (+ (* |student_version_#in~a| 3) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:49,974 INFO L290 TraceCheckUtils]: 8: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:49,974 INFO L290 TraceCheckUtils]: 9: Hoare triple {14107#(<= (+ (* |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; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:49,974 INFO L290 TraceCheckUtils]: 10: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:49,974 INFO L290 TraceCheckUtils]: 11: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} #res := ~y~1; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:49,974 INFO L290 TraceCheckUtils]: 12: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume true; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:49,975 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} {14081#(<= main_~m~0 (* main_~a~0 3))} #113#return; {14064#false} is VALID [2022-04-27 11:36:49,975 INFO L272 TraceCheckUtils]: 0: Hoare triple {14063#true} call ULTIMATE.init(); {14096#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:49,975 INFO L290 TraceCheckUtils]: 1: Hoare triple {14096#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {14063#true} is VALID [2022-04-27 11:36:49,975 INFO L290 TraceCheckUtils]: 2: Hoare triple {14063#true} assume true; {14063#true} is VALID [2022-04-27 11:36:49,976 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14063#true} {14063#true} #117#return; {14063#true} is VALID [2022-04-27 11:36:49,976 INFO L272 TraceCheckUtils]: 4: Hoare triple {14063#true} call #t~ret10 := main(); {14063#true} is VALID [2022-04-27 11:36:49,976 INFO L290 TraceCheckUtils]: 5: Hoare triple {14063#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {14063#true} is VALID [2022-04-27 11:36:49,976 INFO L290 TraceCheckUtils]: 6: Hoare triple {14063#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {14063#true} is VALID [2022-04-27 11:36:49,976 INFO L272 TraceCheckUtils]: 7: Hoare triple {14063#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {14063#true} is VALID [2022-04-27 11:36:49,976 INFO L290 TraceCheckUtils]: 8: Hoare triple {14063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {14097#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:49,976 INFO L290 TraceCheckUtils]: 9: Hoare triple {14097#(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; {14097#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:49,977 INFO L290 TraceCheckUtils]: 10: Hoare triple {14097#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {14097#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:36:49,977 INFO L290 TraceCheckUtils]: 11: Hoare triple {14097#(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; {14098#(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-27 11:36:49,978 INFO L290 TraceCheckUtils]: 12: Hoare triple {14098#(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; {14099#(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-27 11:36:49,978 INFO L290 TraceCheckUtils]: 13: Hoare triple {14099#(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; {14100#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 |correct_version_#in~a|)))} is VALID [2022-04-27 11:36:49,978 INFO L290 TraceCheckUtils]: 14: Hoare triple {14100#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 3 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:49,978 INFO L290 TraceCheckUtils]: 15: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:49,979 INFO L290 TraceCheckUtils]: 16: Hoare triple {14101#(<= |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; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:49,979 INFO L290 TraceCheckUtils]: 17: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:49,979 INFO L290 TraceCheckUtils]: 18: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} #res := ~y~0; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:49,979 INFO L290 TraceCheckUtils]: 19: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume true; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:49,980 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} {14063#true} #111#return; {14081#(<= main_~m~0 (* main_~a~0 3))} is VALID [2022-04-27 11:36:49,980 INFO L290 TraceCheckUtils]: 21: Hoare triple {14081#(<= main_~m~0 (* main_~a~0 3))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {14081#(<= main_~m~0 (* main_~a~0 3))} is VALID [2022-04-27 11:36:49,980 INFO L272 TraceCheckUtils]: 22: Hoare triple {14081#(<= main_~m~0 (* main_~a~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {14063#true} is VALID [2022-04-27 11:36:49,980 INFO L290 TraceCheckUtils]: 23: Hoare triple {14063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {14102#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:49,981 INFO L290 TraceCheckUtils]: 24: Hoare triple {14102#(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; {14102#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:49,981 INFO L290 TraceCheckUtils]: 25: Hoare triple {14102#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {14102#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:49,981 INFO L290 TraceCheckUtils]: 26: Hoare triple {14102#(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; {14103#(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-27 11:36:49,982 INFO L290 TraceCheckUtils]: 27: Hoare triple {14103#(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; {14104#(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-27 11:36:49,982 INFO L290 TraceCheckUtils]: 28: Hoare triple {14104#(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; {14105#(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-27 11:36:49,983 INFO L290 TraceCheckUtils]: 29: Hoare triple {14105#(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; {14106#(and (<= (+ (* |student_version_#in~a| 3) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:49,983 INFO L290 TraceCheckUtils]: 30: Hoare triple {14106#(and (<= (+ (* |student_version_#in~a| 3) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:49,983 INFO L290 TraceCheckUtils]: 31: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:49,984 INFO L290 TraceCheckUtils]: 32: Hoare triple {14107#(<= (+ (* |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; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:49,985 INFO L290 TraceCheckUtils]: 33: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:49,985 INFO L290 TraceCheckUtils]: 34: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} #res := ~y~1; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:49,985 INFO L290 TraceCheckUtils]: 35: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume true; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:49,986 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} {14081#(<= main_~m~0 (* main_~a~0 3))} #113#return; {14064#false} is VALID [2022-04-27 11:36:49,986 INFO L290 TraceCheckUtils]: 37: Hoare triple {14064#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {14064#false} is VALID [2022-04-27 11:36:49,986 INFO L272 TraceCheckUtils]: 38: Hoare triple {14064#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {14064#false} is VALID [2022-04-27 11:36:49,986 INFO L290 TraceCheckUtils]: 39: Hoare triple {14064#false} ~cond := #in~cond; {14064#false} is VALID [2022-04-27 11:36:49,986 INFO L290 TraceCheckUtils]: 40: Hoare triple {14064#false} assume 0 == ~cond; {14064#false} is VALID [2022-04-27 11:36:49,986 INFO L290 TraceCheckUtils]: 41: Hoare triple {14064#false} assume !false; {14064#false} is VALID [2022-04-27 11:36:49,986 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-27 11:36:49,986 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:49,986 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1521564034] [2022-04-27 11:36:49,986 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1521564034] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:49,986 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1944163100] [2022-04-27 11:36:49,986 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:36:49,987 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:49,987 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:50,004 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-27 11:36:50,005 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-27 11:36:50,054 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-27 11:36:50,054 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:36:50,055 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-27 11:36:50,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:50,065 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:50,751 INFO L272 TraceCheckUtils]: 0: Hoare triple {14063#true} call ULTIMATE.init(); {14063#true} is VALID [2022-04-27 11:36:50,752 INFO L290 TraceCheckUtils]: 1: Hoare triple {14063#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {14063#true} is VALID [2022-04-27 11:36:50,752 INFO L290 TraceCheckUtils]: 2: Hoare triple {14063#true} assume true; {14063#true} is VALID [2022-04-27 11:36:50,752 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14063#true} {14063#true} #117#return; {14063#true} is VALID [2022-04-27 11:36:50,752 INFO L272 TraceCheckUtils]: 4: Hoare triple {14063#true} call #t~ret10 := main(); {14063#true} is VALID [2022-04-27 11:36:50,752 INFO L290 TraceCheckUtils]: 5: Hoare triple {14063#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {14063#true} is VALID [2022-04-27 11:36:50,752 INFO L290 TraceCheckUtils]: 6: Hoare triple {14063#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {14063#true} is VALID [2022-04-27 11:36:50,752 INFO L272 TraceCheckUtils]: 7: Hoare triple {14063#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {14063#true} is VALID [2022-04-27 11:36:50,752 INFO L290 TraceCheckUtils]: 8: Hoare triple {14063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {14135#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:36:50,753 INFO L290 TraceCheckUtils]: 9: Hoare triple {14135#(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; {14135#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:36:50,753 INFO L290 TraceCheckUtils]: 10: Hoare triple {14135#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {14135#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:36:50,754 INFO L290 TraceCheckUtils]: 11: Hoare triple {14135#(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; {14145#(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-27 11:36:50,754 INFO L290 TraceCheckUtils]: 12: Hoare triple {14145#(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; {14149#(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-27 11:36:50,755 INFO L290 TraceCheckUtils]: 13: Hoare triple {14149#(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; {14153#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 3)) |correct_version_#in~a|))} is VALID [2022-04-27 11:36:50,755 INFO L290 TraceCheckUtils]: 14: Hoare triple {14153#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 3)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:50,755 INFO L290 TraceCheckUtils]: 15: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:50,756 INFO L290 TraceCheckUtils]: 16: Hoare triple {14101#(<= |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; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:50,756 INFO L290 TraceCheckUtils]: 17: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:50,756 INFO L290 TraceCheckUtils]: 18: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} #res := ~y~0; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:50,757 INFO L290 TraceCheckUtils]: 19: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume true; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:50,757 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} {14063#true} #111#return; {14081#(<= main_~m~0 (* main_~a~0 3))} is VALID [2022-04-27 11:36:50,758 INFO L290 TraceCheckUtils]: 21: Hoare triple {14081#(<= main_~m~0 (* main_~a~0 3))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {14081#(<= main_~m~0 (* main_~a~0 3))} is VALID [2022-04-27 11:36:50,758 INFO L272 TraceCheckUtils]: 22: Hoare triple {14081#(<= main_~m~0 (* main_~a~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {14063#true} is VALID [2022-04-27 11:36:50,758 INFO L290 TraceCheckUtils]: 23: Hoare triple {14063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {14184#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:36:50,759 INFO L290 TraceCheckUtils]: 24: Hoare triple {14184#(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; {14184#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:36:50,759 INFO L290 TraceCheckUtils]: 25: Hoare triple {14184#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {14184#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:36:50,759 INFO L290 TraceCheckUtils]: 26: Hoare triple {14184#(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; {14194#(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-27 11:36:50,760 INFO L290 TraceCheckUtils]: 27: Hoare triple {14194#(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; {14198#(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-27 11:36:50,760 INFO L290 TraceCheckUtils]: 28: Hoare triple {14198#(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; {14202#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 3)))} is VALID [2022-04-27 11:36:50,761 INFO L290 TraceCheckUtils]: 29: Hoare triple {14202#(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; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:50,761 INFO L290 TraceCheckUtils]: 30: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:50,761 INFO L290 TraceCheckUtils]: 31: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:50,762 INFO L290 TraceCheckUtils]: 32: Hoare triple {14107#(<= (+ (* |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; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:50,762 INFO L290 TraceCheckUtils]: 33: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:50,762 INFO L290 TraceCheckUtils]: 34: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} #res := ~y~1; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:50,762 INFO L290 TraceCheckUtils]: 35: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume true; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:50,763 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} {14081#(<= main_~m~0 (* main_~a~0 3))} #113#return; {14064#false} is VALID [2022-04-27 11:36:50,763 INFO L290 TraceCheckUtils]: 37: Hoare triple {14064#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {14064#false} is VALID [2022-04-27 11:36:50,763 INFO L272 TraceCheckUtils]: 38: Hoare triple {14064#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {14064#false} is VALID [2022-04-27 11:36:50,763 INFO L290 TraceCheckUtils]: 39: Hoare triple {14064#false} ~cond := #in~cond; {14064#false} is VALID [2022-04-27 11:36:50,763 INFO L290 TraceCheckUtils]: 40: Hoare triple {14064#false} assume 0 == ~cond; {14064#false} is VALID [2022-04-27 11:36:50,764 INFO L290 TraceCheckUtils]: 41: Hoare triple {14064#false} assume !false; {14064#false} is VALID [2022-04-27 11:36:50,764 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-27 11:36:50,764 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:51,778 INFO L290 TraceCheckUtils]: 41: Hoare triple {14064#false} assume !false; {14064#false} is VALID [2022-04-27 11:36:51,778 INFO L290 TraceCheckUtils]: 40: Hoare triple {14064#false} assume 0 == ~cond; {14064#false} is VALID [2022-04-27 11:36:51,778 INFO L290 TraceCheckUtils]: 39: Hoare triple {14064#false} ~cond := #in~cond; {14064#false} is VALID [2022-04-27 11:36:51,778 INFO L272 TraceCheckUtils]: 38: Hoare triple {14064#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {14064#false} is VALID [2022-04-27 11:36:51,778 INFO L290 TraceCheckUtils]: 37: Hoare triple {14064#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {14064#false} is VALID [2022-04-27 11:36:51,779 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} {14081#(<= main_~m~0 (* main_~a~0 3))} #113#return; {14064#false} is VALID [2022-04-27 11:36:51,780 INFO L290 TraceCheckUtils]: 35: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume true; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:51,780 INFO L290 TraceCheckUtils]: 34: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} #res := ~y~1; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:51,780 INFO L290 TraceCheckUtils]: 33: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:51,780 INFO L290 TraceCheckUtils]: 32: Hoare triple {14107#(<= (+ (* |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; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:51,781 INFO L290 TraceCheckUtils]: 31: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:51,781 INFO L290 TraceCheckUtils]: 30: Hoare triple {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:51,781 INFO L290 TraceCheckUtils]: 29: Hoare triple {14281#(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; {14107#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:36:51,782 INFO L290 TraceCheckUtils]: 28: Hoare triple {14285#(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; {14281#(or (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-27 11:36:51,782 INFO L290 TraceCheckUtils]: 27: Hoare triple {14289#(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; {14285#(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-27 11:36:51,783 INFO L290 TraceCheckUtils]: 26: Hoare triple {14293#(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; {14289#(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-27 11:36:51,783 INFO L290 TraceCheckUtils]: 25: Hoare triple {14293#(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); {14293#(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-27 11:36:51,784 INFO L290 TraceCheckUtils]: 24: Hoare triple {14293#(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; {14293#(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-27 11:36:51,784 INFO L290 TraceCheckUtils]: 23: Hoare triple {14063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {14293#(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-27 11:36:51,784 INFO L272 TraceCheckUtils]: 22: Hoare triple {14081#(<= main_~m~0 (* main_~a~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {14063#true} is VALID [2022-04-27 11:36:51,785 INFO L290 TraceCheckUtils]: 21: Hoare triple {14081#(<= main_~m~0 (* main_~a~0 3))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {14081#(<= main_~m~0 (* main_~a~0 3))} is VALID [2022-04-27 11:36:51,785 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} {14063#true} #111#return; {14081#(<= main_~m~0 (* main_~a~0 3))} is VALID [2022-04-27 11:36:51,786 INFO L290 TraceCheckUtils]: 19: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume true; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:51,786 INFO L290 TraceCheckUtils]: 18: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} #res := ~y~0; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:51,786 INFO L290 TraceCheckUtils]: 17: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:51,786 INFO L290 TraceCheckUtils]: 16: Hoare triple {14101#(<= |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; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:51,787 INFO L290 TraceCheckUtils]: 15: Hoare triple {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:51,787 INFO L290 TraceCheckUtils]: 14: Hoare triple {14330#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| (* 3 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {14101#(<= |correct_version_#in~m| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:36:51,788 INFO L290 TraceCheckUtils]: 13: Hoare triple {14334#(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; {14330#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| (* 3 |correct_version_#in~a|)))} is VALID [2022-04-27 11:36:51,788 INFO L290 TraceCheckUtils]: 12: Hoare triple {14338#(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; {14334#(or (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m) (<= |correct_version_#in~m| (* 3 |correct_version_#in~a|)))} is VALID [2022-04-27 11:36:51,789 INFO L290 TraceCheckUtils]: 11: Hoare triple {14342#(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; {14338#(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-27 11:36:51,789 INFO L290 TraceCheckUtils]: 10: Hoare triple {14342#(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); {14342#(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-27 11:36:51,789 INFO L290 TraceCheckUtils]: 9: Hoare triple {14342#(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; {14342#(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-27 11:36:51,790 INFO L290 TraceCheckUtils]: 8: Hoare triple {14063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {14342#(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-27 11:36:51,790 INFO L272 TraceCheckUtils]: 7: Hoare triple {14063#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {14063#true} is VALID [2022-04-27 11:36:51,790 INFO L290 TraceCheckUtils]: 6: Hoare triple {14063#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {14063#true} is VALID [2022-04-27 11:36:51,790 INFO L290 TraceCheckUtils]: 5: Hoare triple {14063#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {14063#true} is VALID [2022-04-27 11:36:51,790 INFO L272 TraceCheckUtils]: 4: Hoare triple {14063#true} call #t~ret10 := main(); {14063#true} is VALID [2022-04-27 11:36:51,790 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14063#true} {14063#true} #117#return; {14063#true} is VALID [2022-04-27 11:36:51,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {14063#true} assume true; {14063#true} is VALID [2022-04-27 11:36:51,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {14063#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {14063#true} is VALID [2022-04-27 11:36:51,790 INFO L272 TraceCheckUtils]: 0: Hoare triple {14063#true} call ULTIMATE.init(); {14063#true} is VALID [2022-04-27 11:36:51,790 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-27 11:36:51,791 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1944163100] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:51,791 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:51,791 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13, 13] total 31 [2022-04-27 11:36:51,791 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [710865676] [2022-04-27 11:36:51,791 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:51,791 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 2.064516129032258) internal successors, (64), 30 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 42 [2022-04-27 11:36:51,793 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:51,793 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 31 states have (on average 2.064516129032258) internal successors, (64), 30 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:51,839 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:36:51,839 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-27 11:36:51,840 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:51,840 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-27 11:36:51,840 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=834, Unknown=0, NotChecked=0, Total=930 [2022-04-27 11:36:51,840 INFO L87 Difference]: Start difference. First operand 126 states and 149 transitions. Second operand has 31 states, 31 states have (on average 2.064516129032258) internal successors, (64), 30 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:54,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:54,039 INFO L93 Difference]: Finished difference Result 152 states and 180 transitions. [2022-04-27 11:36:54,039 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-27 11:36:54,040 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 2.064516129032258) internal successors, (64), 30 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 42 [2022-04-27 11:36:54,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:54,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 2.064516129032258) internal successors, (64), 30 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:54,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 98 transitions. [2022-04-27 11:36:54,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 2.064516129032258) internal successors, (64), 30 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:54,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 98 transitions. [2022-04-27 11:36:54,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 98 transitions. [2022-04-27 11:36:54,127 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-27 11:36:54,129 INFO L225 Difference]: With dead ends: 152 [2022-04-27 11:36:54,129 INFO L226 Difference]: Without dead ends: 138 [2022-04-27 11:36:54,129 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 262 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=230, Invalid=1932, Unknown=0, NotChecked=0, Total=2162 [2022-04-27 11:36:54,130 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 271 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 1038 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 276 SdHoareTripleChecker+Valid, 131 SdHoareTripleChecker+Invalid, 1074 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 1038 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:54,130 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [276 Valid, 131 Invalid, 1074 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 1038 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-27 11:36:54,130 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2022-04-27 11:36:54,399 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 129. [2022-04-27 11:36:54,399 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:54,399 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-27 11:36:54,400 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-27 11:36:54,400 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-27 11:36:54,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:54,401 INFO L93 Difference]: Finished difference Result 138 states and 164 transitions. [2022-04-27 11:36:54,401 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 164 transitions. [2022-04-27 11:36:54,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:54,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:54,402 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-27 11:36:54,402 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-27 11:36:54,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:54,404 INFO L93 Difference]: Finished difference Result 138 states and 164 transitions. [2022-04-27 11:36:54,404 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 164 transitions. [2022-04-27 11:36:54,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:54,404 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:54,404 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:54,404 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:54,404 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-27 11:36:54,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 154 transitions. [2022-04-27 11:36:54,406 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 154 transitions. Word has length 42 [2022-04-27 11:36:54,406 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:54,406 INFO L495 AbstractCegarLoop]: Abstraction has 129 states and 154 transitions. [2022-04-27 11:36:54,406 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 31 states have (on average 2.064516129032258) internal successors, (64), 30 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:54,406 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 154 transitions. [2022-04-27 11:36:54,407 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-27 11:36:54,408 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:54,408 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:54,424 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-27 11:36:54,621 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:54,621 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:36:54,621 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:36:54,622 INFO L85 PathProgramCache]: Analyzing trace with hash 1181369487, now seen corresponding path program 16 times [2022-04-27 11:36:54,622 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:36:54,622 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1249201658] [2022-04-27 11:36:54,622 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:36:54,622 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:36:54,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:54,658 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:36:54,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:54,661 INFO L290 TraceCheckUtils]: 0: Hoare triple {15107#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {15074#true} is VALID [2022-04-27 11:36:54,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {15074#true} assume true; {15074#true} is VALID [2022-04-27 11:36:54,661 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15074#true} {15074#true} #117#return; {15074#true} is VALID [2022-04-27 11:36:54,661 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:36:54,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:54,735 INFO L290 TraceCheckUtils]: 0: Hoare triple {15074#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {15108#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:54,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {15108#(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; {15108#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:54,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {15108#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {15108#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:54,737 INFO L290 TraceCheckUtils]: 3: Hoare triple {15108#(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; {15109#(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-27 11:36:54,737 INFO L290 TraceCheckUtils]: 4: Hoare triple {15109#(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; {15110#(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-27 11:36:54,738 INFO L290 TraceCheckUtils]: 5: Hoare triple {15110#(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; {15111#(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-27 11:36:54,738 INFO L290 TraceCheckUtils]: 6: Hoare triple {15111#(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; {15112#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 3 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-27 11:36:54,739 INFO L290 TraceCheckUtils]: 7: Hoare triple {15112#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 3 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:54,739 INFO L290 TraceCheckUtils]: 8: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:54,739 INFO L290 TraceCheckUtils]: 9: Hoare triple {15113#(<= (+ (* 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; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:54,740 INFO L290 TraceCheckUtils]: 10: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:54,740 INFO L290 TraceCheckUtils]: 11: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:54,740 INFO L290 TraceCheckUtils]: 12: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:54,741 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {15074#true} #111#return; {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} is VALID [2022-04-27 11:36:54,741 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-27 11:36:54,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:54,822 INFO L290 TraceCheckUtils]: 0: Hoare triple {15074#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {15114#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:54,823 INFO L290 TraceCheckUtils]: 1: Hoare triple {15114#(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; {15114#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:54,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {15114#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {15114#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:54,824 INFO L290 TraceCheckUtils]: 3: Hoare triple {15114#(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; {15115#(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-27 11:36:54,825 INFO L290 TraceCheckUtils]: 4: Hoare triple {15115#(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; {15116#(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-27 11:36:54,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {15116#(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; {15117#(and (<= student_version_~l~1 (* |student_version_#in~a| 3)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:54,826 INFO L290 TraceCheckUtils]: 6: Hoare triple {15117#(and (<= student_version_~l~1 (* |student_version_#in~a| 3)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:54,826 INFO L290 TraceCheckUtils]: 7: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:54,826 INFO L290 TraceCheckUtils]: 8: Hoare triple {15118#(<= |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; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:54,827 INFO L290 TraceCheckUtils]: 9: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:54,827 INFO L290 TraceCheckUtils]: 10: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} #res := ~y~1; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:54,827 INFO L290 TraceCheckUtils]: 11: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume true; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:54,828 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} #113#return; {15075#false} is VALID [2022-04-27 11:36:54,828 INFO L272 TraceCheckUtils]: 0: Hoare triple {15074#true} call ULTIMATE.init(); {15107#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:36:54,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {15107#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {15074#true} is VALID [2022-04-27 11:36:54,828 INFO L290 TraceCheckUtils]: 2: Hoare triple {15074#true} assume true; {15074#true} is VALID [2022-04-27 11:36:54,828 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15074#true} {15074#true} #117#return; {15074#true} is VALID [2022-04-27 11:36:54,828 INFO L272 TraceCheckUtils]: 4: Hoare triple {15074#true} call #t~ret10 := main(); {15074#true} is VALID [2022-04-27 11:36:54,829 INFO L290 TraceCheckUtils]: 5: Hoare triple {15074#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {15074#true} is VALID [2022-04-27 11:36:54,829 INFO L290 TraceCheckUtils]: 6: Hoare triple {15074#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {15074#true} is VALID [2022-04-27 11:36:54,829 INFO L272 TraceCheckUtils]: 7: Hoare triple {15074#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {15074#true} is VALID [2022-04-27 11:36:54,829 INFO L290 TraceCheckUtils]: 8: Hoare triple {15074#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {15108#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:54,829 INFO L290 TraceCheckUtils]: 9: Hoare triple {15108#(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; {15108#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:54,830 INFO L290 TraceCheckUtils]: 10: Hoare triple {15108#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {15108#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:54,830 INFO L290 TraceCheckUtils]: 11: Hoare triple {15108#(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; {15109#(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-27 11:36:54,831 INFO L290 TraceCheckUtils]: 12: Hoare triple {15109#(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; {15110#(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-27 11:36:54,831 INFO L290 TraceCheckUtils]: 13: Hoare triple {15110#(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; {15111#(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-27 11:36:54,832 INFO L290 TraceCheckUtils]: 14: Hoare triple {15111#(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; {15112#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 3 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-27 11:36:54,832 INFO L290 TraceCheckUtils]: 15: Hoare triple {15112#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 3 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:54,832 INFO L290 TraceCheckUtils]: 16: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:54,833 INFO L290 TraceCheckUtils]: 17: Hoare triple {15113#(<= (+ (* 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; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:54,833 INFO L290 TraceCheckUtils]: 18: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:54,833 INFO L290 TraceCheckUtils]: 19: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:54,834 INFO L290 TraceCheckUtils]: 20: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:54,834 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {15074#true} #111#return; {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} is VALID [2022-04-27 11:36:54,835 INFO L290 TraceCheckUtils]: 22: Hoare triple {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} is VALID [2022-04-27 11:36:54,835 INFO L272 TraceCheckUtils]: 23: Hoare triple {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {15074#true} is VALID [2022-04-27 11:36:54,835 INFO L290 TraceCheckUtils]: 24: Hoare triple {15074#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {15114#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:54,835 INFO L290 TraceCheckUtils]: 25: Hoare triple {15114#(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; {15114#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:54,836 INFO L290 TraceCheckUtils]: 26: Hoare triple {15114#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {15114#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:36:54,836 INFO L290 TraceCheckUtils]: 27: Hoare triple {15114#(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; {15115#(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-27 11:36:54,837 INFO L290 TraceCheckUtils]: 28: Hoare triple {15115#(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; {15116#(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-27 11:36:54,837 INFO L290 TraceCheckUtils]: 29: Hoare triple {15116#(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; {15117#(and (<= student_version_~l~1 (* |student_version_#in~a| 3)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:54,838 INFO L290 TraceCheckUtils]: 30: Hoare triple {15117#(and (<= student_version_~l~1 (* |student_version_#in~a| 3)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:54,838 INFO L290 TraceCheckUtils]: 31: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:54,838 INFO L290 TraceCheckUtils]: 32: Hoare triple {15118#(<= |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; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:54,838 INFO L290 TraceCheckUtils]: 33: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:54,839 INFO L290 TraceCheckUtils]: 34: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} #res := ~y~1; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:54,839 INFO L290 TraceCheckUtils]: 35: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume true; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:54,840 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} #113#return; {15075#false} is VALID [2022-04-27 11:36:54,840 INFO L290 TraceCheckUtils]: 37: Hoare triple {15075#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {15075#false} is VALID [2022-04-27 11:36:54,840 INFO L272 TraceCheckUtils]: 38: Hoare triple {15075#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {15075#false} is VALID [2022-04-27 11:36:54,840 INFO L290 TraceCheckUtils]: 39: Hoare triple {15075#false} ~cond := #in~cond; {15075#false} is VALID [2022-04-27 11:36:54,840 INFO L290 TraceCheckUtils]: 40: Hoare triple {15075#false} assume 0 == ~cond; {15075#false} is VALID [2022-04-27 11:36:54,840 INFO L290 TraceCheckUtils]: 41: Hoare triple {15075#false} assume !false; {15075#false} is VALID [2022-04-27 11:36:54,840 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-27 11:36:54,840 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:36:54,840 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1249201658] [2022-04-27 11:36:54,840 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1249201658] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:36:54,840 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [25440422] [2022-04-27 11:36:54,841 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 11:36:54,841 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:36:54,841 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:36:54,842 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-27 11:36:54,843 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-27 11:36:54,888 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 11:36:54,889 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:36:54,889 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-27 11:36:54,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:36:54,900 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:36:55,970 INFO L272 TraceCheckUtils]: 0: Hoare triple {15074#true} call ULTIMATE.init(); {15074#true} is VALID [2022-04-27 11:36:55,970 INFO L290 TraceCheckUtils]: 1: Hoare triple {15074#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {15074#true} is VALID [2022-04-27 11:36:55,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {15074#true} assume true; {15074#true} is VALID [2022-04-27 11:36:55,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15074#true} {15074#true} #117#return; {15074#true} is VALID [2022-04-27 11:36:55,970 INFO L272 TraceCheckUtils]: 4: Hoare triple {15074#true} call #t~ret10 := main(); {15074#true} is VALID [2022-04-27 11:36:55,970 INFO L290 TraceCheckUtils]: 5: Hoare triple {15074#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {15074#true} is VALID [2022-04-27 11:36:55,970 INFO L290 TraceCheckUtils]: 6: Hoare triple {15074#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {15074#true} is VALID [2022-04-27 11:36:55,970 INFO L272 TraceCheckUtils]: 7: Hoare triple {15074#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {15074#true} is VALID [2022-04-27 11:36:55,971 INFO L290 TraceCheckUtils]: 8: Hoare triple {15074#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {15146#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:55,971 INFO L290 TraceCheckUtils]: 9: Hoare triple {15146#(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; {15146#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:55,971 INFO L290 TraceCheckUtils]: 10: Hoare triple {15146#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {15146#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:36:55,972 INFO L290 TraceCheckUtils]: 11: Hoare triple {15146#(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; {15156#(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-27 11:36:55,972 INFO L290 TraceCheckUtils]: 12: Hoare triple {15156#(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; {15160#(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-27 11:36:55,973 INFO L290 TraceCheckUtils]: 13: Hoare triple {15160#(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; {15164#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 3)))} is VALID [2022-04-27 11:36:55,973 INFO L290 TraceCheckUtils]: 14: Hoare triple {15164#(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; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:55,974 INFO L290 TraceCheckUtils]: 15: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:55,974 INFO L290 TraceCheckUtils]: 16: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:55,974 INFO L290 TraceCheckUtils]: 17: Hoare triple {15113#(<= (+ (* 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; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:55,975 INFO L290 TraceCheckUtils]: 18: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:55,975 INFO L290 TraceCheckUtils]: 19: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:55,975 INFO L290 TraceCheckUtils]: 20: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:55,976 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {15074#true} #111#return; {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} is VALID [2022-04-27 11:36:55,976 INFO L290 TraceCheckUtils]: 22: Hoare triple {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} is VALID [2022-04-27 11:36:55,976 INFO L272 TraceCheckUtils]: 23: Hoare triple {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {15074#true} is VALID [2022-04-27 11:36:55,977 INFO L290 TraceCheckUtils]: 24: Hoare triple {15074#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {15198#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:36:55,977 INFO L290 TraceCheckUtils]: 25: Hoare triple {15198#(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; {15198#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:36:55,977 INFO L290 TraceCheckUtils]: 26: Hoare triple {15198#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {15198#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:36:55,978 INFO L290 TraceCheckUtils]: 27: Hoare triple {15198#(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; {15208#(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-27 11:36:55,978 INFO L290 TraceCheckUtils]: 28: Hoare triple {15208#(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; {15212#(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-27 11:36:55,979 INFO L290 TraceCheckUtils]: 29: Hoare triple {15212#(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; {15216#(and (<= (div (- student_version_~l~1) (- 3)) |student_version_#in~a|) (<= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:36:55,979 INFO L290 TraceCheckUtils]: 30: Hoare triple {15216#(and (<= (div (- student_version_~l~1) (- 3)) |student_version_#in~a|) (<= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:55,980 INFO L290 TraceCheckUtils]: 31: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:55,980 INFO L290 TraceCheckUtils]: 32: Hoare triple {15118#(<= |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; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:55,980 INFO L290 TraceCheckUtils]: 33: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:55,980 INFO L290 TraceCheckUtils]: 34: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} #res := ~y~1; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:55,981 INFO L290 TraceCheckUtils]: 35: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume true; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:55,981 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} #113#return; {15075#false} is VALID [2022-04-27 11:36:55,981 INFO L290 TraceCheckUtils]: 37: Hoare triple {15075#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {15075#false} is VALID [2022-04-27 11:36:55,981 INFO L272 TraceCheckUtils]: 38: Hoare triple {15075#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {15075#false} is VALID [2022-04-27 11:36:55,982 INFO L290 TraceCheckUtils]: 39: Hoare triple {15075#false} ~cond := #in~cond; {15075#false} is VALID [2022-04-27 11:36:55,982 INFO L290 TraceCheckUtils]: 40: Hoare triple {15075#false} assume 0 == ~cond; {15075#false} is VALID [2022-04-27 11:36:55,982 INFO L290 TraceCheckUtils]: 41: Hoare triple {15075#false} assume !false; {15075#false} is VALID [2022-04-27 11:36:55,982 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-27 11:36:55,982 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:36:56,834 INFO L290 TraceCheckUtils]: 41: Hoare triple {15075#false} assume !false; {15075#false} is VALID [2022-04-27 11:36:56,834 INFO L290 TraceCheckUtils]: 40: Hoare triple {15075#false} assume 0 == ~cond; {15075#false} is VALID [2022-04-27 11:36:56,835 INFO L290 TraceCheckUtils]: 39: Hoare triple {15075#false} ~cond := #in~cond; {15075#false} is VALID [2022-04-27 11:36:56,835 INFO L272 TraceCheckUtils]: 38: Hoare triple {15075#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {15075#false} is VALID [2022-04-27 11:36:56,835 INFO L290 TraceCheckUtils]: 37: Hoare triple {15075#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {15075#false} is VALID [2022-04-27 11:36:56,836 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} #113#return; {15075#false} is VALID [2022-04-27 11:36:56,836 INFO L290 TraceCheckUtils]: 35: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume true; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:56,836 INFO L290 TraceCheckUtils]: 34: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} #res := ~y~1; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:56,837 INFO L290 TraceCheckUtils]: 33: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:56,837 INFO L290 TraceCheckUtils]: 32: Hoare triple {15118#(<= |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; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:56,838 INFO L290 TraceCheckUtils]: 31: Hoare triple {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:56,838 INFO L290 TraceCheckUtils]: 30: Hoare triple {15289#(or (<= |student_version_#in~m| (* |student_version_#in~a| 3)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {15118#(<= |student_version_#in~m| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:36:56,839 INFO L290 TraceCheckUtils]: 29: Hoare triple {15293#(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; {15289#(or (<= |student_version_#in~m| (* |student_version_#in~a| 3)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-27 11:36:56,839 INFO L290 TraceCheckUtils]: 28: Hoare triple {15297#(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; {15293#(or (< (+ student_version_~l~1 student_version_~a) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 3)))} is VALID [2022-04-27 11:36:56,840 INFO L290 TraceCheckUtils]: 27: Hoare triple {15301#(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; {15297#(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-27 11:36:56,840 INFO L290 TraceCheckUtils]: 26: Hoare triple {15301#(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); {15301#(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-27 11:36:56,840 INFO L290 TraceCheckUtils]: 25: Hoare triple {15301#(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; {15301#(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-27 11:36:56,841 INFO L290 TraceCheckUtils]: 24: Hoare triple {15074#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {15301#(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-27 11:36:56,841 INFO L272 TraceCheckUtils]: 23: Hoare triple {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {15074#true} is VALID [2022-04-27 11:36:56,841 INFO L290 TraceCheckUtils]: 22: Hoare triple {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} is VALID [2022-04-27 11:36:56,842 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {15074#true} #111#return; {15093#(<= (+ (* main_~a~0 3) 1) main_~m~0)} is VALID [2022-04-27 11:36:56,842 INFO L290 TraceCheckUtils]: 20: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:56,842 INFO L290 TraceCheckUtils]: 19: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:56,843 INFO L290 TraceCheckUtils]: 18: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:56,843 INFO L290 TraceCheckUtils]: 17: Hoare triple {15113#(<= (+ (* 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; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:56,843 INFO L290 TraceCheckUtils]: 16: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:56,844 INFO L290 TraceCheckUtils]: 15: Hoare triple {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:56,844 INFO L290 TraceCheckUtils]: 14: Hoare triple {15341#(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; {15113#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:36:56,844 INFO L290 TraceCheckUtils]: 13: Hoare triple {15345#(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; {15341#(or (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-27 11:36:56,845 INFO L290 TraceCheckUtils]: 12: Hoare triple {15349#(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; {15345#(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-27 11:36:56,845 INFO L290 TraceCheckUtils]: 11: Hoare triple {15353#(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; {15349#(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-27 11:36:56,846 INFO L290 TraceCheckUtils]: 10: Hoare triple {15353#(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); {15353#(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-27 11:36:56,846 INFO L290 TraceCheckUtils]: 9: Hoare triple {15353#(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; {15353#(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-27 11:36:56,847 INFO L290 TraceCheckUtils]: 8: Hoare triple {15074#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {15353#(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-27 11:36:56,847 INFO L272 TraceCheckUtils]: 7: Hoare triple {15074#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {15074#true} is VALID [2022-04-27 11:36:56,847 INFO L290 TraceCheckUtils]: 6: Hoare triple {15074#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {15074#true} is VALID [2022-04-27 11:36:56,847 INFO L290 TraceCheckUtils]: 5: Hoare triple {15074#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {15074#true} is VALID [2022-04-27 11:36:56,847 INFO L272 TraceCheckUtils]: 4: Hoare triple {15074#true} call #t~ret10 := main(); {15074#true} is VALID [2022-04-27 11:36:56,847 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15074#true} {15074#true} #117#return; {15074#true} is VALID [2022-04-27 11:36:56,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {15074#true} assume true; {15074#true} is VALID [2022-04-27 11:36:56,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {15074#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {15074#true} is VALID [2022-04-27 11:36:56,847 INFO L272 TraceCheckUtils]: 0: Hoare triple {15074#true} call ULTIMATE.init(); {15074#true} is VALID [2022-04-27 11:36:56,847 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-27 11:36:56,847 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [25440422] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:36:56,847 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:36:56,847 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13, 13] total 31 [2022-04-27 11:36:56,848 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1966294461] [2022-04-27 11:36:56,848 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:36:56,848 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 2.064516129032258) internal successors, (64), 30 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 42 [2022-04-27 11:36:56,848 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:36:56,848 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 31 states have (on average 2.064516129032258) internal successors, (64), 30 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:56,890 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:36:56,890 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-27 11:36:56,890 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:36:56,894 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-27 11:36:56,894 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=834, Unknown=0, NotChecked=0, Total=930 [2022-04-27 11:36:56,894 INFO L87 Difference]: Start difference. First operand 129 states and 154 transitions. Second operand has 31 states, 31 states have (on average 2.064516129032258) internal successors, (64), 30 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:59,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:59,627 INFO L93 Difference]: Finished difference Result 144 states and 169 transitions. [2022-04-27 11:36:59,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-27 11:36:59,627 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 2.064516129032258) internal successors, (64), 30 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 42 [2022-04-27 11:36:59,627 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:36:59,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 2.064516129032258) internal successors, (64), 30 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:59,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 97 transitions. [2022-04-27 11:36:59,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 2.064516129032258) internal successors, (64), 30 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:59,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 97 transitions. [2022-04-27 11:36:59,629 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 97 transitions. [2022-04-27 11:36:59,699 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-27 11:36:59,701 INFO L225 Difference]: With dead ends: 144 [2022-04-27 11:36:59,701 INFO L226 Difference]: Without dead ends: 132 [2022-04-27 11:36:59,701 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 269 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=230, Invalid=1932, Unknown=0, NotChecked=0, Total=2162 [2022-04-27 11:36:59,702 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 260 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 1271 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 267 SdHoareTripleChecker+Valid, 145 SdHoareTripleChecker+Invalid, 1301 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 1271 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:36:59,702 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [267 Valid, 145 Invalid, 1301 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 1271 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-27 11:36:59,702 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-27 11:36:59,885 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 130. [2022-04-27 11:36:59,885 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:36:59,886 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-27 11:36:59,886 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-27 11:36:59,886 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-27 11:36:59,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:59,888 INFO L93 Difference]: Finished difference Result 132 states and 156 transitions. [2022-04-27 11:36:59,888 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 156 transitions. [2022-04-27 11:36:59,888 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:59,888 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:59,888 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-27 11:36:59,888 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-27 11:36:59,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:36:59,890 INFO L93 Difference]: Finished difference Result 132 states and 156 transitions. [2022-04-27 11:36:59,890 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 156 transitions. [2022-04-27 11:36:59,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:36:59,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:36:59,891 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:36:59,891 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:36:59,891 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-27 11:36:59,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 154 transitions. [2022-04-27 11:36:59,893 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 154 transitions. Word has length 42 [2022-04-27 11:36:59,893 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:36:59,893 INFO L495 AbstractCegarLoop]: Abstraction has 130 states and 154 transitions. [2022-04-27 11:36:59,893 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 31 states have (on average 2.064516129032258) internal successors, (64), 30 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:36:59,893 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 154 transitions. [2022-04-27 11:36:59,893 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-27 11:36:59,893 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:36:59,893 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:36:59,911 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-27 11:37:00,103 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-27 11:37:00,103 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:37:00,104 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:37:00,104 INFO L85 PathProgramCache]: Analyzing trace with hash -439775891, now seen corresponding path program 17 times [2022-04-27 11:37:00,104 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:37:00,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [120414928] [2022-04-27 11:37:00,104 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:37:00,104 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:37:00,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:00,136 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:37:00,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:00,138 INFO L290 TraceCheckUtils]: 0: Hoare triple {16095#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {16063#true} is VALID [2022-04-27 11:37:00,138 INFO L290 TraceCheckUtils]: 1: Hoare triple {16063#true} assume true; {16063#true} is VALID [2022-04-27 11:37:00,138 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {16063#true} {16063#true} #117#return; {16063#true} is VALID [2022-04-27 11:37:00,138 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:37:00,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:00,144 INFO L290 TraceCheckUtils]: 0: Hoare triple {16063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {16063#true} is VALID [2022-04-27 11:37:00,144 INFO L290 TraceCheckUtils]: 1: Hoare triple {16063#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {16063#true} is VALID [2022-04-27 11:37:00,144 INFO L290 TraceCheckUtils]: 2: Hoare triple {16063#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {16063#true} is VALID [2022-04-27 11:37:00,145 INFO L290 TraceCheckUtils]: 3: Hoare triple {16063#true} assume !(~b~0 < ~n); {16063#true} is VALID [2022-04-27 11:37:00,145 INFO L290 TraceCheckUtils]: 4: Hoare triple {16063#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16063#true} is VALID [2022-04-27 11:37:00,145 INFO L290 TraceCheckUtils]: 5: Hoare triple {16063#true} assume !(~l~0 < ~m); {16063#true} is VALID [2022-04-27 11:37:00,145 INFO L290 TraceCheckUtils]: 6: Hoare triple {16063#true} ~x~0 := 0;~y~0 := 0; {16063#true} is VALID [2022-04-27 11:37:00,145 INFO L290 TraceCheckUtils]: 7: Hoare triple {16063#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {16063#true} is VALID [2022-04-27 11:37:00,145 INFO L290 TraceCheckUtils]: 8: Hoare triple {16063#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {16063#true} is VALID [2022-04-27 11:37:00,145 INFO L290 TraceCheckUtils]: 9: Hoare triple {16063#true} assume !(~x~0 < ~i~0); {16063#true} is VALID [2022-04-27 11:37:00,145 INFO L290 TraceCheckUtils]: 10: Hoare triple {16063#true} #res := ~y~0; {16063#true} is VALID [2022-04-27 11:37:00,145 INFO L290 TraceCheckUtils]: 11: Hoare triple {16063#true} assume true; {16063#true} is VALID [2022-04-27 11:37:00,145 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {16063#true} {16063#true} #111#return; {16063#true} is VALID [2022-04-27 11:37:00,145 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-27 11:37:00,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:00,174 INFO L290 TraceCheckUtils]: 0: Hoare triple {16063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {16096#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:37:00,175 INFO L290 TraceCheckUtils]: 1: Hoare triple {16096#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {16097#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:37:00,175 INFO L290 TraceCheckUtils]: 2: Hoare triple {16097#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,175 INFO L290 TraceCheckUtils]: 3: Hoare triple {16098#(<= student_version_~i~1 2)} assume !(~b~1 < ~n); {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,176 INFO L290 TraceCheckUtils]: 4: Hoare triple {16098#(<= student_version_~i~1 2)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,176 INFO L290 TraceCheckUtils]: 5: Hoare triple {16098#(<= student_version_~i~1 2)} assume !(~l~1 < ~m); {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,176 INFO L290 TraceCheckUtils]: 6: Hoare triple {16098#(<= student_version_~i~1 2)} ~x~1 := 0;~y~1 := 0; {16099#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-27 11:37:00,176 INFO L290 TraceCheckUtils]: 7: Hoare triple {16099#(<= 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; {16100#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-27 11:37:00,177 INFO L290 TraceCheckUtils]: 8: Hoare triple {16100#(<= 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; {16101#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:37:00,177 INFO L290 TraceCheckUtils]: 9: Hoare triple {16101#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {16064#false} is VALID [2022-04-27 11:37:00,177 INFO L290 TraceCheckUtils]: 10: Hoare triple {16064#false} assume !(~x~1 < ~i~1); {16064#false} is VALID [2022-04-27 11:37:00,177 INFO L290 TraceCheckUtils]: 11: Hoare triple {16064#false} #res := ~y~1; {16064#false} is VALID [2022-04-27 11:37:00,177 INFO L290 TraceCheckUtils]: 12: Hoare triple {16064#false} assume true; {16064#false} is VALID [2022-04-27 11:37:00,177 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {16064#false} {16063#true} #113#return; {16064#false} is VALID [2022-04-27 11:37:00,178 INFO L272 TraceCheckUtils]: 0: Hoare triple {16063#true} call ULTIMATE.init(); {16095#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:37:00,178 INFO L290 TraceCheckUtils]: 1: Hoare triple {16095#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {16063#true} is VALID [2022-04-27 11:37:00,178 INFO L290 TraceCheckUtils]: 2: Hoare triple {16063#true} assume true; {16063#true} is VALID [2022-04-27 11:37:00,178 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16063#true} {16063#true} #117#return; {16063#true} is VALID [2022-04-27 11:37:00,178 INFO L272 TraceCheckUtils]: 4: Hoare triple {16063#true} call #t~ret10 := main(); {16063#true} is VALID [2022-04-27 11:37:00,178 INFO L290 TraceCheckUtils]: 5: Hoare triple {16063#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {16063#true} is VALID [2022-04-27 11:37:00,178 INFO L290 TraceCheckUtils]: 6: Hoare triple {16063#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {16063#true} is VALID [2022-04-27 11:37:00,178 INFO L272 TraceCheckUtils]: 7: Hoare triple {16063#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {16063#true} is VALID [2022-04-27 11:37:00,178 INFO L290 TraceCheckUtils]: 8: Hoare triple {16063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {16063#true} is VALID [2022-04-27 11:37:00,178 INFO L290 TraceCheckUtils]: 9: Hoare triple {16063#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {16063#true} is VALID [2022-04-27 11:37:00,178 INFO L290 TraceCheckUtils]: 10: Hoare triple {16063#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {16063#true} is VALID [2022-04-27 11:37:00,178 INFO L290 TraceCheckUtils]: 11: Hoare triple {16063#true} assume !(~b~0 < ~n); {16063#true} is VALID [2022-04-27 11:37:00,179 INFO L290 TraceCheckUtils]: 12: Hoare triple {16063#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16063#true} is VALID [2022-04-27 11:37:00,179 INFO L290 TraceCheckUtils]: 13: Hoare triple {16063#true} assume !(~l~0 < ~m); {16063#true} is VALID [2022-04-27 11:37:00,179 INFO L290 TraceCheckUtils]: 14: Hoare triple {16063#true} ~x~0 := 0;~y~0 := 0; {16063#true} is VALID [2022-04-27 11:37:00,179 INFO L290 TraceCheckUtils]: 15: Hoare triple {16063#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {16063#true} is VALID [2022-04-27 11:37:00,179 INFO L290 TraceCheckUtils]: 16: Hoare triple {16063#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {16063#true} is VALID [2022-04-27 11:37:00,179 INFO L290 TraceCheckUtils]: 17: Hoare triple {16063#true} assume !(~x~0 < ~i~0); {16063#true} is VALID [2022-04-27 11:37:00,179 INFO L290 TraceCheckUtils]: 18: Hoare triple {16063#true} #res := ~y~0; {16063#true} is VALID [2022-04-27 11:37:00,179 INFO L290 TraceCheckUtils]: 19: Hoare triple {16063#true} assume true; {16063#true} is VALID [2022-04-27 11:37:00,179 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {16063#true} {16063#true} #111#return; {16063#true} is VALID [2022-04-27 11:37:00,179 INFO L290 TraceCheckUtils]: 21: Hoare triple {16063#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {16063#true} is VALID [2022-04-27 11:37:00,179 INFO L272 TraceCheckUtils]: 22: Hoare triple {16063#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {16063#true} is VALID [2022-04-27 11:37:00,179 INFO L290 TraceCheckUtils]: 23: Hoare triple {16063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {16096#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:37:00,180 INFO L290 TraceCheckUtils]: 24: Hoare triple {16096#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {16097#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:37:00,180 INFO L290 TraceCheckUtils]: 25: Hoare triple {16097#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,180 INFO L290 TraceCheckUtils]: 26: Hoare triple {16098#(<= student_version_~i~1 2)} assume !(~b~1 < ~n); {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,181 INFO L290 TraceCheckUtils]: 27: Hoare triple {16098#(<= student_version_~i~1 2)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,181 INFO L290 TraceCheckUtils]: 28: Hoare triple {16098#(<= student_version_~i~1 2)} assume !(~l~1 < ~m); {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,181 INFO L290 TraceCheckUtils]: 29: Hoare triple {16098#(<= student_version_~i~1 2)} ~x~1 := 0;~y~1 := 0; {16099#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-27 11:37:00,181 INFO L290 TraceCheckUtils]: 30: Hoare triple {16099#(<= 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; {16100#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-27 11:37:00,182 INFO L290 TraceCheckUtils]: 31: Hoare triple {16100#(<= 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; {16101#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:37:00,182 INFO L290 TraceCheckUtils]: 32: Hoare triple {16101#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {16064#false} is VALID [2022-04-27 11:37:00,182 INFO L290 TraceCheckUtils]: 33: Hoare triple {16064#false} assume !(~x~1 < ~i~1); {16064#false} is VALID [2022-04-27 11:37:00,182 INFO L290 TraceCheckUtils]: 34: Hoare triple {16064#false} #res := ~y~1; {16064#false} is VALID [2022-04-27 11:37:00,182 INFO L290 TraceCheckUtils]: 35: Hoare triple {16064#false} assume true; {16064#false} is VALID [2022-04-27 11:37:00,182 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16064#false} {16063#true} #113#return; {16064#false} is VALID [2022-04-27 11:37:00,182 INFO L290 TraceCheckUtils]: 37: Hoare triple {16064#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {16064#false} is VALID [2022-04-27 11:37:00,182 INFO L272 TraceCheckUtils]: 38: Hoare triple {16064#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {16064#false} is VALID [2022-04-27 11:37:00,182 INFO L290 TraceCheckUtils]: 39: Hoare triple {16064#false} ~cond := #in~cond; {16064#false} is VALID [2022-04-27 11:37:00,183 INFO L290 TraceCheckUtils]: 40: Hoare triple {16064#false} assume 0 == ~cond; {16064#false} is VALID [2022-04-27 11:37:00,183 INFO L290 TraceCheckUtils]: 41: Hoare triple {16064#false} assume !false; {16064#false} is VALID [2022-04-27 11:37:00,183 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-27 11:37:00,183 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:37:00,183 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [120414928] [2022-04-27 11:37:00,183 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [120414928] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:37:00,183 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1968285517] [2022-04-27 11:37:00,183 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 11:37:00,183 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:00,183 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:37:00,184 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-27 11:37:00,212 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-27 11:37:00,240 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 3 check-sat command(s) [2022-04-27 11:37:00,240 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:37:00,241 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 11:37:00,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:00,247 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:37:00,366 INFO L272 TraceCheckUtils]: 0: Hoare triple {16063#true} call ULTIMATE.init(); {16063#true} is VALID [2022-04-27 11:37:00,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {16063#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {16063#true} is VALID [2022-04-27 11:37:00,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {16063#true} assume true; {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16063#true} {16063#true} #117#return; {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L272 TraceCheckUtils]: 4: Hoare triple {16063#true} call #t~ret10 := main(); {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L290 TraceCheckUtils]: 5: Hoare triple {16063#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L290 TraceCheckUtils]: 6: Hoare triple {16063#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L272 TraceCheckUtils]: 7: Hoare triple {16063#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L290 TraceCheckUtils]: 8: Hoare triple {16063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L290 TraceCheckUtils]: 9: Hoare triple {16063#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L290 TraceCheckUtils]: 10: Hoare triple {16063#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L290 TraceCheckUtils]: 11: Hoare triple {16063#true} assume !(~b~0 < ~n); {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L290 TraceCheckUtils]: 12: Hoare triple {16063#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L290 TraceCheckUtils]: 13: Hoare triple {16063#true} assume !(~l~0 < ~m); {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L290 TraceCheckUtils]: 14: Hoare triple {16063#true} ~x~0 := 0;~y~0 := 0; {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L290 TraceCheckUtils]: 15: Hoare triple {16063#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L290 TraceCheckUtils]: 16: Hoare triple {16063#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L290 TraceCheckUtils]: 17: Hoare triple {16063#true} assume !(~x~0 < ~i~0); {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L290 TraceCheckUtils]: 18: Hoare triple {16063#true} #res := ~y~0; {16063#true} is VALID [2022-04-27 11:37:00,367 INFO L290 TraceCheckUtils]: 19: Hoare triple {16063#true} assume true; {16063#true} is VALID [2022-04-27 11:37:00,368 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {16063#true} {16063#true} #111#return; {16063#true} is VALID [2022-04-27 11:37:00,368 INFO L290 TraceCheckUtils]: 21: Hoare triple {16063#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {16063#true} is VALID [2022-04-27 11:37:00,368 INFO L272 TraceCheckUtils]: 22: Hoare triple {16063#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {16063#true} is VALID [2022-04-27 11:37:00,368 INFO L290 TraceCheckUtils]: 23: Hoare triple {16063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {16096#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:37:00,369 INFO L290 TraceCheckUtils]: 24: Hoare triple {16096#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {16097#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:37:00,369 INFO L290 TraceCheckUtils]: 25: Hoare triple {16097#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,369 INFO L290 TraceCheckUtils]: 26: Hoare triple {16098#(<= student_version_~i~1 2)} assume !(~b~1 < ~n); {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,370 INFO L290 TraceCheckUtils]: 27: Hoare triple {16098#(<= student_version_~i~1 2)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,370 INFO L290 TraceCheckUtils]: 28: Hoare triple {16098#(<= student_version_~i~1 2)} assume !(~l~1 < ~m); {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,370 INFO L290 TraceCheckUtils]: 29: Hoare triple {16098#(<= student_version_~i~1 2)} ~x~1 := 0;~y~1 := 0; {16192#(and (<= student_version_~i~1 2) (<= 0 student_version_~x~1))} is VALID [2022-04-27 11:37:00,370 INFO L290 TraceCheckUtils]: 30: Hoare triple {16192#(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; {16196#(and (<= 1 student_version_~x~1) (<= student_version_~i~1 2))} is VALID [2022-04-27 11:37:00,371 INFO L290 TraceCheckUtils]: 31: Hoare triple {16196#(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; {16200#(and (<= 2 student_version_~x~1) (<= student_version_~i~1 2))} is VALID [2022-04-27 11:37:00,371 INFO L290 TraceCheckUtils]: 32: Hoare triple {16200#(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; {16064#false} is VALID [2022-04-27 11:37:00,371 INFO L290 TraceCheckUtils]: 33: Hoare triple {16064#false} assume !(~x~1 < ~i~1); {16064#false} is VALID [2022-04-27 11:37:00,371 INFO L290 TraceCheckUtils]: 34: Hoare triple {16064#false} #res := ~y~1; {16064#false} is VALID [2022-04-27 11:37:00,371 INFO L290 TraceCheckUtils]: 35: Hoare triple {16064#false} assume true; {16064#false} is VALID [2022-04-27 11:37:00,371 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16064#false} {16063#true} #113#return; {16064#false} is VALID [2022-04-27 11:37:00,371 INFO L290 TraceCheckUtils]: 37: Hoare triple {16064#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {16064#false} is VALID [2022-04-27 11:37:00,371 INFO L272 TraceCheckUtils]: 38: Hoare triple {16064#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {16064#false} is VALID [2022-04-27 11:37:00,371 INFO L290 TraceCheckUtils]: 39: Hoare triple {16064#false} ~cond := #in~cond; {16064#false} is VALID [2022-04-27 11:37:00,371 INFO L290 TraceCheckUtils]: 40: Hoare triple {16064#false} assume 0 == ~cond; {16064#false} is VALID [2022-04-27 11:37:00,372 INFO L290 TraceCheckUtils]: 41: Hoare triple {16064#false} assume !false; {16064#false} is VALID [2022-04-27 11:37:00,372 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-27 11:37:00,372 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:37:00,442 INFO L290 TraceCheckUtils]: 41: Hoare triple {16064#false} assume !false; {16064#false} is VALID [2022-04-27 11:37:00,443 INFO L290 TraceCheckUtils]: 40: Hoare triple {16064#false} assume 0 == ~cond; {16064#false} is VALID [2022-04-27 11:37:00,443 INFO L290 TraceCheckUtils]: 39: Hoare triple {16064#false} ~cond := #in~cond; {16064#false} is VALID [2022-04-27 11:37:00,443 INFO L272 TraceCheckUtils]: 38: Hoare triple {16064#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {16064#false} is VALID [2022-04-27 11:37:00,443 INFO L290 TraceCheckUtils]: 37: Hoare triple {16064#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {16064#false} is VALID [2022-04-27 11:37:00,443 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16064#false} {16063#true} #113#return; {16064#false} is VALID [2022-04-27 11:37:00,443 INFO L290 TraceCheckUtils]: 35: Hoare triple {16064#false} assume true; {16064#false} is VALID [2022-04-27 11:37:00,443 INFO L290 TraceCheckUtils]: 34: Hoare triple {16064#false} #res := ~y~1; {16064#false} is VALID [2022-04-27 11:37:00,443 INFO L290 TraceCheckUtils]: 33: Hoare triple {16064#false} assume !(~x~1 < ~i~1); {16064#false} is VALID [2022-04-27 11:37:00,443 INFO L290 TraceCheckUtils]: 32: Hoare triple {16101#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {16064#false} is VALID [2022-04-27 11:37:00,444 INFO L290 TraceCheckUtils]: 31: Hoare triple {16100#(<= 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; {16101#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:37:00,444 INFO L290 TraceCheckUtils]: 30: Hoare triple {16099#(<= 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; {16100#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-27 11:37:00,444 INFO L290 TraceCheckUtils]: 29: Hoare triple {16098#(<= student_version_~i~1 2)} ~x~1 := 0;~y~1 := 0; {16099#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-27 11:37:00,444 INFO L290 TraceCheckUtils]: 28: Hoare triple {16098#(<= student_version_~i~1 2)} assume !(~l~1 < ~m); {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,445 INFO L290 TraceCheckUtils]: 27: Hoare triple {16098#(<= student_version_~i~1 2)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,445 INFO L290 TraceCheckUtils]: 26: Hoare triple {16098#(<= student_version_~i~1 2)} assume !(~b~1 < ~n); {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,445 INFO L290 TraceCheckUtils]: 25: Hoare triple {16097#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {16098#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:37:00,445 INFO L290 TraceCheckUtils]: 24: Hoare triple {16096#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {16097#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:37:00,446 INFO L290 TraceCheckUtils]: 23: Hoare triple {16063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {16096#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:37:00,446 INFO L272 TraceCheckUtils]: 22: Hoare triple {16063#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {16063#true} is VALID [2022-04-27 11:37:00,446 INFO L290 TraceCheckUtils]: 21: Hoare triple {16063#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {16063#true} is VALID [2022-04-27 11:37:00,446 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {16063#true} {16063#true} #111#return; {16063#true} is VALID [2022-04-27 11:37:00,446 INFO L290 TraceCheckUtils]: 19: Hoare triple {16063#true} assume true; {16063#true} is VALID [2022-04-27 11:37:00,446 INFO L290 TraceCheckUtils]: 18: Hoare triple {16063#true} #res := ~y~0; {16063#true} is VALID [2022-04-27 11:37:00,446 INFO L290 TraceCheckUtils]: 17: Hoare triple {16063#true} assume !(~x~0 < ~i~0); {16063#true} is VALID [2022-04-27 11:37:00,446 INFO L290 TraceCheckUtils]: 16: Hoare triple {16063#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {16063#true} is VALID [2022-04-27 11:37:00,446 INFO L290 TraceCheckUtils]: 15: Hoare triple {16063#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {16063#true} is VALID [2022-04-27 11:37:00,446 INFO L290 TraceCheckUtils]: 14: Hoare triple {16063#true} ~x~0 := 0;~y~0 := 0; {16063#true} is VALID [2022-04-27 11:37:00,446 INFO L290 TraceCheckUtils]: 13: Hoare triple {16063#true} assume !(~l~0 < ~m); {16063#true} is VALID [2022-04-27 11:37:00,446 INFO L290 TraceCheckUtils]: 12: Hoare triple {16063#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {16063#true} is VALID [2022-04-27 11:37:00,446 INFO L290 TraceCheckUtils]: 11: Hoare triple {16063#true} assume !(~b~0 < ~n); {16063#true} is VALID [2022-04-27 11:37:00,446 INFO L290 TraceCheckUtils]: 10: Hoare triple {16063#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {16063#true} is VALID [2022-04-27 11:37:00,446 INFO L290 TraceCheckUtils]: 9: Hoare triple {16063#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {16063#true} is VALID [2022-04-27 11:37:00,447 INFO L290 TraceCheckUtils]: 8: Hoare triple {16063#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {16063#true} is VALID [2022-04-27 11:37:00,447 INFO L272 TraceCheckUtils]: 7: Hoare triple {16063#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {16063#true} is VALID [2022-04-27 11:37:00,447 INFO L290 TraceCheckUtils]: 6: Hoare triple {16063#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {16063#true} is VALID [2022-04-27 11:37:00,447 INFO L290 TraceCheckUtils]: 5: Hoare triple {16063#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {16063#true} is VALID [2022-04-27 11:37:00,447 INFO L272 TraceCheckUtils]: 4: Hoare triple {16063#true} call #t~ret10 := main(); {16063#true} is VALID [2022-04-27 11:37:00,447 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16063#true} {16063#true} #117#return; {16063#true} is VALID [2022-04-27 11:37:00,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {16063#true} assume true; {16063#true} is VALID [2022-04-27 11:37:00,447 INFO L290 TraceCheckUtils]: 1: Hoare triple {16063#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {16063#true} is VALID [2022-04-27 11:37:00,447 INFO L272 TraceCheckUtils]: 0: Hoare triple {16063#true} call ULTIMATE.init(); {16063#true} is VALID [2022-04-27 11:37:00,447 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-27 11:37:00,447 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1968285517] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:37:00,447 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:37:00,447 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 12 [2022-04-27 11:37:00,447 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1303609518] [2022-04-27 11:37:00,448 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:37:00,448 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 11 states have internal predecessors, (37), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 42 [2022-04-27 11:37:00,448 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:37:00,448 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 11 states have internal predecessors, (37), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:37:00,464 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-27 11:37:00,464 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 11:37:00,464 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:37:00,465 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 11:37:00,465 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-27 11:37:00,465 INFO L87 Difference]: Start difference. First operand 130 states and 154 transitions. Second operand has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 11 states have internal predecessors, (37), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:37:00,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:00,931 INFO L93 Difference]: Finished difference Result 186 states and 223 transitions. [2022-04-27 11:37:00,931 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 11:37:00,931 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 11 states have internal predecessors, (37), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 42 [2022-04-27 11:37:00,931 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:37:00,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 11 states have internal predecessors, (37), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:37:00,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 70 transitions. [2022-04-27 11:37:00,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 11 states have internal predecessors, (37), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:37:00,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 70 transitions. [2022-04-27 11:37:00,933 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 70 transitions. [2022-04-27 11:37:00,963 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-27 11:37:00,978 INFO L225 Difference]: With dead ends: 186 [2022-04-27 11:37:00,978 INFO L226 Difference]: Without dead ends: 164 [2022-04-27 11:37:00,979 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 86 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 66 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=121, Invalid=299, Unknown=0, NotChecked=0, Total=420 [2022-04-27 11:37:00,979 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 59 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 158 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 62 SdHoareTripleChecker+Valid, 58 SdHoareTripleChecker+Invalid, 175 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 158 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:37:00,979 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [62 Valid, 58 Invalid, 175 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 158 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:37:00,979 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-27 11:37:01,400 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 152. [2022-04-27 11:37:01,400 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:37:01,400 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-27 11:37:01,400 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-27 11:37:01,400 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-27 11:37:01,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:01,402 INFO L93 Difference]: Finished difference Result 164 states and 193 transitions. [2022-04-27 11:37:01,403 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 193 transitions. [2022-04-27 11:37:01,403 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:01,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:01,403 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-27 11:37:01,403 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-27 11:37:01,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:01,405 INFO L93 Difference]: Finished difference Result 164 states and 193 transitions. [2022-04-27 11:37:01,405 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 193 transitions. [2022-04-27 11:37:01,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:01,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:01,406 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:37:01,406 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:37:01,406 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-27 11:37:01,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 152 states to 152 states and 181 transitions. [2022-04-27 11:37:01,408 INFO L78 Accepts]: Start accepts. Automaton has 152 states and 181 transitions. Word has length 42 [2022-04-27 11:37:01,408 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:37:01,408 INFO L495 AbstractCegarLoop]: Abstraction has 152 states and 181 transitions. [2022-04-27 11:37:01,408 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 11 states have internal predecessors, (37), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:37:01,408 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 181 transitions. [2022-04-27 11:37:01,409 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-27 11:37:01,409 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:37:01,409 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:37:01,429 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-27 11:37:01,624 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-27 11:37:01,624 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:37:01,624 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:37:01,624 INFO L85 PathProgramCache]: Analyzing trace with hash -466729134, now seen corresponding path program 18 times [2022-04-27 11:37:01,625 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:37:01,625 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2001135279] [2022-04-27 11:37:01,625 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:37:01,625 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:37:01,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:01,646 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:37:01,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:01,649 INFO L290 TraceCheckUtils]: 0: Hoare triple {17206#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {17174#true} is VALID [2022-04-27 11:37:01,649 INFO L290 TraceCheckUtils]: 1: Hoare triple {17174#true} assume true; {17174#true} is VALID [2022-04-27 11:37:01,649 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {17174#true} {17174#true} #117#return; {17174#true} is VALID [2022-04-27 11:37:01,649 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:37:01,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:01,684 INFO L290 TraceCheckUtils]: 0: Hoare triple {17174#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {17207#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:37:01,685 INFO L290 TraceCheckUtils]: 1: Hoare triple {17207#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {17208#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:37:01,685 INFO L290 TraceCheckUtils]: 2: Hoare triple {17208#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:01,685 INFO L290 TraceCheckUtils]: 3: Hoare triple {17209#(<= correct_version_~i~0 2)} assume !(~b~0 < ~n); {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:01,686 INFO L290 TraceCheckUtils]: 4: Hoare triple {17209#(<= correct_version_~i~0 2)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:01,686 INFO L290 TraceCheckUtils]: 5: Hoare triple {17209#(<= correct_version_~i~0 2)} assume !(~l~0 < ~m); {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:01,686 INFO L290 TraceCheckUtils]: 6: Hoare triple {17209#(<= correct_version_~i~0 2)} ~x~0 := 0;~y~0 := 0; {17210#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-27 11:37:01,687 INFO L290 TraceCheckUtils]: 7: Hoare triple {17210#(<= 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; {17211#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-27 11:37:01,687 INFO L290 TraceCheckUtils]: 8: Hoare triple {17211#(<= 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; {17212#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:37:01,687 INFO L290 TraceCheckUtils]: 9: Hoare triple {17212#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {17175#false} is VALID [2022-04-27 11:37:01,687 INFO L290 TraceCheckUtils]: 10: Hoare triple {17175#false} assume !(~x~0 < ~i~0); {17175#false} is VALID [2022-04-27 11:37:01,688 INFO L290 TraceCheckUtils]: 11: Hoare triple {17175#false} #res := ~y~0; {17175#false} is VALID [2022-04-27 11:37:01,688 INFO L290 TraceCheckUtils]: 12: Hoare triple {17175#false} assume true; {17175#false} is VALID [2022-04-27 11:37:01,688 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {17175#false} {17174#true} #111#return; {17175#false} is VALID [2022-04-27 11:37:01,688 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-27 11:37:01,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:01,693 INFO L290 TraceCheckUtils]: 0: Hoare triple {17174#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {17174#true} is VALID [2022-04-27 11:37:01,693 INFO L290 TraceCheckUtils]: 1: Hoare triple {17174#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {17174#true} is VALID [2022-04-27 11:37:01,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {17174#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {17174#true} is VALID [2022-04-27 11:37:01,693 INFO L290 TraceCheckUtils]: 3: Hoare triple {17174#true} assume !(~b~1 < ~n); {17174#true} is VALID [2022-04-27 11:37:01,693 INFO L290 TraceCheckUtils]: 4: Hoare triple {17174#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17174#true} is VALID [2022-04-27 11:37:01,693 INFO L290 TraceCheckUtils]: 5: Hoare triple {17174#true} assume !(~l~1 < ~m); {17174#true} is VALID [2022-04-27 11:37:01,693 INFO L290 TraceCheckUtils]: 6: Hoare triple {17174#true} ~x~1 := 0;~y~1 := 0; {17174#true} is VALID [2022-04-27 11:37:01,693 INFO L290 TraceCheckUtils]: 7: Hoare triple {17174#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {17174#true} is VALID [2022-04-27 11:37:01,693 INFO L290 TraceCheckUtils]: 8: Hoare triple {17174#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {17174#true} is VALID [2022-04-27 11:37:01,693 INFO L290 TraceCheckUtils]: 9: Hoare triple {17174#true} assume !(~x~1 < ~i~1); {17174#true} is VALID [2022-04-27 11:37:01,694 INFO L290 TraceCheckUtils]: 10: Hoare triple {17174#true} #res := ~y~1; {17174#true} is VALID [2022-04-27 11:37:01,694 INFO L290 TraceCheckUtils]: 11: Hoare triple {17174#true} assume true; {17174#true} is VALID [2022-04-27 11:37:01,694 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {17174#true} {17175#false} #113#return; {17175#false} is VALID [2022-04-27 11:37:01,694 INFO L272 TraceCheckUtils]: 0: Hoare triple {17174#true} call ULTIMATE.init(); {17206#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:37:01,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {17206#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {17174#true} is VALID [2022-04-27 11:37:01,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {17174#true} assume true; {17174#true} is VALID [2022-04-27 11:37:01,694 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17174#true} {17174#true} #117#return; {17174#true} is VALID [2022-04-27 11:37:01,694 INFO L272 TraceCheckUtils]: 4: Hoare triple {17174#true} call #t~ret10 := main(); {17174#true} is VALID [2022-04-27 11:37:01,694 INFO L290 TraceCheckUtils]: 5: Hoare triple {17174#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {17174#true} is VALID [2022-04-27 11:37:01,694 INFO L290 TraceCheckUtils]: 6: Hoare triple {17174#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {17174#true} is VALID [2022-04-27 11:37:01,694 INFO L272 TraceCheckUtils]: 7: Hoare triple {17174#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {17174#true} is VALID [2022-04-27 11:37:01,695 INFO L290 TraceCheckUtils]: 8: Hoare triple {17174#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {17207#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:37:01,695 INFO L290 TraceCheckUtils]: 9: Hoare triple {17207#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {17208#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:37:01,696 INFO L290 TraceCheckUtils]: 10: Hoare triple {17208#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:01,696 INFO L290 TraceCheckUtils]: 11: Hoare triple {17209#(<= correct_version_~i~0 2)} assume !(~b~0 < ~n); {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:01,696 INFO L290 TraceCheckUtils]: 12: Hoare triple {17209#(<= correct_version_~i~0 2)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:01,696 INFO L290 TraceCheckUtils]: 13: Hoare triple {17209#(<= correct_version_~i~0 2)} assume !(~l~0 < ~m); {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:01,696 INFO L290 TraceCheckUtils]: 14: Hoare triple {17209#(<= correct_version_~i~0 2)} ~x~0 := 0;~y~0 := 0; {17210#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-27 11:37:01,697 INFO L290 TraceCheckUtils]: 15: Hoare triple {17210#(<= 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; {17211#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-27 11:37:01,697 INFO L290 TraceCheckUtils]: 16: Hoare triple {17211#(<= 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; {17212#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:37:01,698 INFO L290 TraceCheckUtils]: 17: Hoare triple {17212#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {17175#false} is VALID [2022-04-27 11:37:01,698 INFO L290 TraceCheckUtils]: 18: Hoare triple {17175#false} assume !(~x~0 < ~i~0); {17175#false} is VALID [2022-04-27 11:37:01,698 INFO L290 TraceCheckUtils]: 19: Hoare triple {17175#false} #res := ~y~0; {17175#false} is VALID [2022-04-27 11:37:01,698 INFO L290 TraceCheckUtils]: 20: Hoare triple {17175#false} assume true; {17175#false} is VALID [2022-04-27 11:37:01,698 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17175#false} {17174#true} #111#return; {17175#false} is VALID [2022-04-27 11:37:01,698 INFO L290 TraceCheckUtils]: 22: Hoare triple {17175#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {17175#false} is VALID [2022-04-27 11:37:01,698 INFO L272 TraceCheckUtils]: 23: Hoare triple {17175#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {17174#true} is VALID [2022-04-27 11:37:01,698 INFO L290 TraceCheckUtils]: 24: Hoare triple {17174#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {17174#true} is VALID [2022-04-27 11:37:01,698 INFO L290 TraceCheckUtils]: 25: Hoare triple {17174#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {17174#true} is VALID [2022-04-27 11:37:01,698 INFO L290 TraceCheckUtils]: 26: Hoare triple {17174#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {17174#true} is VALID [2022-04-27 11:37:01,698 INFO L290 TraceCheckUtils]: 27: Hoare triple {17174#true} assume !(~b~1 < ~n); {17174#true} is VALID [2022-04-27 11:37:01,698 INFO L290 TraceCheckUtils]: 28: Hoare triple {17174#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17174#true} is VALID [2022-04-27 11:37:01,698 INFO L290 TraceCheckUtils]: 29: Hoare triple {17174#true} assume !(~l~1 < ~m); {17174#true} is VALID [2022-04-27 11:37:01,698 INFO L290 TraceCheckUtils]: 30: Hoare triple {17174#true} ~x~1 := 0;~y~1 := 0; {17174#true} is VALID [2022-04-27 11:37:01,698 INFO L290 TraceCheckUtils]: 31: Hoare triple {17174#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {17174#true} is VALID [2022-04-27 11:37:01,698 INFO L290 TraceCheckUtils]: 32: Hoare triple {17174#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {17174#true} is VALID [2022-04-27 11:37:01,698 INFO L290 TraceCheckUtils]: 33: Hoare triple {17174#true} assume !(~x~1 < ~i~1); {17174#true} is VALID [2022-04-27 11:37:01,699 INFO L290 TraceCheckUtils]: 34: Hoare triple {17174#true} #res := ~y~1; {17174#true} is VALID [2022-04-27 11:37:01,699 INFO L290 TraceCheckUtils]: 35: Hoare triple {17174#true} assume true; {17174#true} is VALID [2022-04-27 11:37:01,699 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {17174#true} {17175#false} #113#return; {17175#false} is VALID [2022-04-27 11:37:01,699 INFO L290 TraceCheckUtils]: 37: Hoare triple {17175#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {17175#false} is VALID [2022-04-27 11:37:01,699 INFO L272 TraceCheckUtils]: 38: Hoare triple {17175#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {17175#false} is VALID [2022-04-27 11:37:01,699 INFO L290 TraceCheckUtils]: 39: Hoare triple {17175#false} ~cond := #in~cond; {17175#false} is VALID [2022-04-27 11:37:01,699 INFO L290 TraceCheckUtils]: 40: Hoare triple {17175#false} assume 0 == ~cond; {17175#false} is VALID [2022-04-27 11:37:01,699 INFO L290 TraceCheckUtils]: 41: Hoare triple {17175#false} assume !false; {17175#false} is VALID [2022-04-27 11:37:01,699 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-27 11:37:01,699 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:37:01,699 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2001135279] [2022-04-27 11:37:01,699 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2001135279] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:37:01,699 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [334965416] [2022-04-27 11:37:01,699 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-27 11:37:01,700 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:01,700 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:37:01,700 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-27 11:37:01,701 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-27 11:37:01,750 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-27 11:37:01,750 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:37:01,751 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 11:37:01,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:01,758 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:37:01,897 INFO L272 TraceCheckUtils]: 0: Hoare triple {17174#true} call ULTIMATE.init(); {17174#true} is VALID [2022-04-27 11:37:01,898 INFO L290 TraceCheckUtils]: 1: Hoare triple {17174#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {17174#true} is VALID [2022-04-27 11:37:01,898 INFO L290 TraceCheckUtils]: 2: Hoare triple {17174#true} assume true; {17174#true} is VALID [2022-04-27 11:37:01,898 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17174#true} {17174#true} #117#return; {17174#true} is VALID [2022-04-27 11:37:01,898 INFO L272 TraceCheckUtils]: 4: Hoare triple {17174#true} call #t~ret10 := main(); {17174#true} is VALID [2022-04-27 11:37:01,898 INFO L290 TraceCheckUtils]: 5: Hoare triple {17174#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {17174#true} is VALID [2022-04-27 11:37:01,898 INFO L290 TraceCheckUtils]: 6: Hoare triple {17174#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {17174#true} is VALID [2022-04-27 11:37:01,898 INFO L272 TraceCheckUtils]: 7: Hoare triple {17174#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {17174#true} is VALID [2022-04-27 11:37:01,898 INFO L290 TraceCheckUtils]: 8: Hoare triple {17174#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {17207#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:37:01,899 INFO L290 TraceCheckUtils]: 9: Hoare triple {17207#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {17208#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:37:01,899 INFO L290 TraceCheckUtils]: 10: Hoare triple {17208#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:01,899 INFO L290 TraceCheckUtils]: 11: Hoare triple {17209#(<= correct_version_~i~0 2)} assume !(~b~0 < ~n); {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:01,900 INFO L290 TraceCheckUtils]: 12: Hoare triple {17209#(<= correct_version_~i~0 2)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:01,900 INFO L290 TraceCheckUtils]: 13: Hoare triple {17209#(<= correct_version_~i~0 2)} assume !(~l~0 < ~m); {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:01,900 INFO L290 TraceCheckUtils]: 14: Hoare triple {17209#(<= correct_version_~i~0 2)} ~x~0 := 0;~y~0 := 0; {17258#(and (<= 0 correct_version_~x~0) (<= correct_version_~i~0 2))} is VALID [2022-04-27 11:37:01,901 INFO L290 TraceCheckUtils]: 15: Hoare triple {17258#(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; {17262#(and (<= correct_version_~i~0 2) (<= 1 correct_version_~x~0))} is VALID [2022-04-27 11:37:01,901 INFO L290 TraceCheckUtils]: 16: Hoare triple {17262#(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; {17266#(and (<= 2 correct_version_~x~0) (<= correct_version_~i~0 2))} is VALID [2022-04-27 11:37:01,902 INFO L290 TraceCheckUtils]: 17: Hoare triple {17266#(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; {17175#false} is VALID [2022-04-27 11:37:01,902 INFO L290 TraceCheckUtils]: 18: Hoare triple {17175#false} assume !(~x~0 < ~i~0); {17175#false} is VALID [2022-04-27 11:37:01,902 INFO L290 TraceCheckUtils]: 19: Hoare triple {17175#false} #res := ~y~0; {17175#false} is VALID [2022-04-27 11:37:01,902 INFO L290 TraceCheckUtils]: 20: Hoare triple {17175#false} assume true; {17175#false} is VALID [2022-04-27 11:37:01,902 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17175#false} {17174#true} #111#return; {17175#false} is VALID [2022-04-27 11:37:01,902 INFO L290 TraceCheckUtils]: 22: Hoare triple {17175#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {17175#false} is VALID [2022-04-27 11:37:01,902 INFO L272 TraceCheckUtils]: 23: Hoare triple {17175#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {17175#false} is VALID [2022-04-27 11:37:01,902 INFO L290 TraceCheckUtils]: 24: Hoare triple {17175#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {17175#false} is VALID [2022-04-27 11:37:01,902 INFO L290 TraceCheckUtils]: 25: Hoare triple {17175#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {17175#false} is VALID [2022-04-27 11:37:01,902 INFO L290 TraceCheckUtils]: 26: Hoare triple {17175#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {17175#false} is VALID [2022-04-27 11:37:01,902 INFO L290 TraceCheckUtils]: 27: Hoare triple {17175#false} assume !(~b~1 < ~n); {17175#false} is VALID [2022-04-27 11:37:01,902 INFO L290 TraceCheckUtils]: 28: Hoare triple {17175#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17175#false} is VALID [2022-04-27 11:37:01,902 INFO L290 TraceCheckUtils]: 29: Hoare triple {17175#false} assume !(~l~1 < ~m); {17175#false} is VALID [2022-04-27 11:37:01,902 INFO L290 TraceCheckUtils]: 30: Hoare triple {17175#false} ~x~1 := 0;~y~1 := 0; {17175#false} is VALID [2022-04-27 11:37:01,902 INFO L290 TraceCheckUtils]: 31: Hoare triple {17175#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {17175#false} is VALID [2022-04-27 11:37:01,903 INFO L290 TraceCheckUtils]: 32: Hoare triple {17175#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {17175#false} is VALID [2022-04-27 11:37:01,903 INFO L290 TraceCheckUtils]: 33: Hoare triple {17175#false} assume !(~x~1 < ~i~1); {17175#false} is VALID [2022-04-27 11:37:01,903 INFO L290 TraceCheckUtils]: 34: Hoare triple {17175#false} #res := ~y~1; {17175#false} is VALID [2022-04-27 11:37:01,903 INFO L290 TraceCheckUtils]: 35: Hoare triple {17175#false} assume true; {17175#false} is VALID [2022-04-27 11:37:01,903 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {17175#false} {17175#false} #113#return; {17175#false} is VALID [2022-04-27 11:37:01,903 INFO L290 TraceCheckUtils]: 37: Hoare triple {17175#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {17175#false} is VALID [2022-04-27 11:37:01,903 INFO L272 TraceCheckUtils]: 38: Hoare triple {17175#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {17175#false} is VALID [2022-04-27 11:37:01,903 INFO L290 TraceCheckUtils]: 39: Hoare triple {17175#false} ~cond := #in~cond; {17175#false} is VALID [2022-04-27 11:37:01,903 INFO L290 TraceCheckUtils]: 40: Hoare triple {17175#false} assume 0 == ~cond; {17175#false} is VALID [2022-04-27 11:37:01,903 INFO L290 TraceCheckUtils]: 41: Hoare triple {17175#false} assume !false; {17175#false} is VALID [2022-04-27 11:37:01,903 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-27 11:37:01,903 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:37:02,037 INFO L290 TraceCheckUtils]: 41: Hoare triple {17175#false} assume !false; {17175#false} is VALID [2022-04-27 11:37:02,037 INFO L290 TraceCheckUtils]: 40: Hoare triple {17175#false} assume 0 == ~cond; {17175#false} is VALID [2022-04-27 11:37:02,037 INFO L290 TraceCheckUtils]: 39: Hoare triple {17175#false} ~cond := #in~cond; {17175#false} is VALID [2022-04-27 11:37:02,037 INFO L272 TraceCheckUtils]: 38: Hoare triple {17175#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {17175#false} is VALID [2022-04-27 11:37:02,038 INFO L290 TraceCheckUtils]: 37: Hoare triple {17175#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {17175#false} is VALID [2022-04-27 11:37:02,038 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {17174#true} {17175#false} #113#return; {17175#false} is VALID [2022-04-27 11:37:02,038 INFO L290 TraceCheckUtils]: 35: Hoare triple {17174#true} assume true; {17174#true} is VALID [2022-04-27 11:37:02,038 INFO L290 TraceCheckUtils]: 34: Hoare triple {17174#true} #res := ~y~1; {17174#true} is VALID [2022-04-27 11:37:02,038 INFO L290 TraceCheckUtils]: 33: Hoare triple {17174#true} assume !(~x~1 < ~i~1); {17174#true} is VALID [2022-04-27 11:37:02,038 INFO L290 TraceCheckUtils]: 32: Hoare triple {17174#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {17174#true} is VALID [2022-04-27 11:37:02,038 INFO L290 TraceCheckUtils]: 31: Hoare triple {17174#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {17174#true} is VALID [2022-04-27 11:37:02,038 INFO L290 TraceCheckUtils]: 30: Hoare triple {17174#true} ~x~1 := 0;~y~1 := 0; {17174#true} is VALID [2022-04-27 11:37:02,038 INFO L290 TraceCheckUtils]: 29: Hoare triple {17174#true} assume !(~l~1 < ~m); {17174#true} is VALID [2022-04-27 11:37:02,038 INFO L290 TraceCheckUtils]: 28: Hoare triple {17174#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {17174#true} is VALID [2022-04-27 11:37:02,038 INFO L290 TraceCheckUtils]: 27: Hoare triple {17174#true} assume !(~b~1 < ~n); {17174#true} is VALID [2022-04-27 11:37:02,038 INFO L290 TraceCheckUtils]: 26: Hoare triple {17174#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {17174#true} is VALID [2022-04-27 11:37:02,038 INFO L290 TraceCheckUtils]: 25: Hoare triple {17174#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {17174#true} is VALID [2022-04-27 11:37:02,038 INFO L290 TraceCheckUtils]: 24: Hoare triple {17174#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {17174#true} is VALID [2022-04-27 11:37:02,038 INFO L272 TraceCheckUtils]: 23: Hoare triple {17175#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {17174#true} is VALID [2022-04-27 11:37:02,038 INFO L290 TraceCheckUtils]: 22: Hoare triple {17175#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {17175#false} is VALID [2022-04-27 11:37:02,038 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17175#false} {17174#true} #111#return; {17175#false} is VALID [2022-04-27 11:37:02,039 INFO L290 TraceCheckUtils]: 20: Hoare triple {17175#false} assume true; {17175#false} is VALID [2022-04-27 11:37:02,039 INFO L290 TraceCheckUtils]: 19: Hoare triple {17175#false} #res := ~y~0; {17175#false} is VALID [2022-04-27 11:37:02,039 INFO L290 TraceCheckUtils]: 18: Hoare triple {17175#false} assume !(~x~0 < ~i~0); {17175#false} is VALID [2022-04-27 11:37:02,039 INFO L290 TraceCheckUtils]: 17: Hoare triple {17212#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {17175#false} is VALID [2022-04-27 11:37:02,040 INFO L290 TraceCheckUtils]: 16: Hoare triple {17211#(<= 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; {17212#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:37:02,040 INFO L290 TraceCheckUtils]: 15: Hoare triple {17210#(<= 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; {17211#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-27 11:37:02,040 INFO L290 TraceCheckUtils]: 14: Hoare triple {17209#(<= correct_version_~i~0 2)} ~x~0 := 0;~y~0 := 0; {17210#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-27 11:37:02,041 INFO L290 TraceCheckUtils]: 13: Hoare triple {17209#(<= correct_version_~i~0 2)} assume !(~l~0 < ~m); {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:02,041 INFO L290 TraceCheckUtils]: 12: Hoare triple {17209#(<= correct_version_~i~0 2)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:02,041 INFO L290 TraceCheckUtils]: 11: Hoare triple {17209#(<= correct_version_~i~0 2)} assume !(~b~0 < ~n); {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:02,042 INFO L290 TraceCheckUtils]: 10: Hoare triple {17208#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {17209#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:37:02,042 INFO L290 TraceCheckUtils]: 9: Hoare triple {17207#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {17208#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:37:02,043 INFO L290 TraceCheckUtils]: 8: Hoare triple {17174#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {17207#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:37:02,043 INFO L272 TraceCheckUtils]: 7: Hoare triple {17174#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {17174#true} is VALID [2022-04-27 11:37:02,043 INFO L290 TraceCheckUtils]: 6: Hoare triple {17174#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {17174#true} is VALID [2022-04-27 11:37:02,043 INFO L290 TraceCheckUtils]: 5: Hoare triple {17174#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {17174#true} is VALID [2022-04-27 11:37:02,043 INFO L272 TraceCheckUtils]: 4: Hoare triple {17174#true} call #t~ret10 := main(); {17174#true} is VALID [2022-04-27 11:37:02,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17174#true} {17174#true} #117#return; {17174#true} is VALID [2022-04-27 11:37:02,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {17174#true} assume true; {17174#true} is VALID [2022-04-27 11:37:02,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {17174#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {17174#true} is VALID [2022-04-27 11:37:02,043 INFO L272 TraceCheckUtils]: 0: Hoare triple {17174#true} call ULTIMATE.init(); {17174#true} is VALID [2022-04-27 11:37:02,043 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-27 11:37:02,043 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [334965416] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:37:02,043 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:37:02,044 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 12 [2022-04-27 11:37:02,044 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1535064136] [2022-04-27 11:37:02,044 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:37:02,044 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.9166666666666665) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 42 [2022-04-27 11:37:02,044 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:37:02,044 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.9166666666666665) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:02,081 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-27 11:37:02,081 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 11:37:02,081 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:37:02,081 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 11:37:02,081 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-27 11:37:02,081 INFO L87 Difference]: Start difference. First operand 152 states and 181 transitions. Second operand has 12 states, 12 states have (on average 3.9166666666666665) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:03,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:03,049 INFO L93 Difference]: Finished difference Result 290 states and 347 transitions. [2022-04-27 11:37:03,049 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 11:37:03,049 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.9166666666666665) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 42 [2022-04-27 11:37:03,049 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:37:03,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.9166666666666665) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:03,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 83 transitions. [2022-04-27 11:37:03,050 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.9166666666666665) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:03,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 83 transitions. [2022-04-27 11:37:03,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 83 transitions. [2022-04-27 11:37:03,086 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-27 11:37:03,088 INFO L225 Difference]: With dead ends: 290 [2022-04-27 11:37:03,088 INFO L226 Difference]: Without dead ends: 186 [2022-04-27 11:37:03,089 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 86 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 66 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=121, Invalid=299, Unknown=0, NotChecked=0, Total=420 [2022-04-27 11:37:03,089 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 61 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 252 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 265 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 252 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:37:03,090 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [65 Valid, 73 Invalid, 265 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 252 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 11:37:03,090 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 186 states. [2022-04-27 11:37:03,424 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 186 to 174. [2022-04-27 11:37:03,424 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:37:03,424 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-27 11:37:03,424 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-27 11:37:03,425 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-27 11:37:03,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:03,427 INFO L93 Difference]: Finished difference Result 186 states and 220 transitions. [2022-04-27 11:37:03,427 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 220 transitions. [2022-04-27 11:37:03,427 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:03,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:03,428 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-27 11:37:03,428 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-27 11:37:03,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:03,430 INFO L93 Difference]: Finished difference Result 186 states and 220 transitions. [2022-04-27 11:37:03,430 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 220 transitions. [2022-04-27 11:37:03,430 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:03,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:03,431 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:37:03,431 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:37:03,431 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-27 11:37:03,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 174 states to 174 states and 208 transitions. [2022-04-27 11:37:03,433 INFO L78 Accepts]: Start accepts. Automaton has 174 states and 208 transitions. Word has length 42 [2022-04-27 11:37:03,433 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:37:03,433 INFO L495 AbstractCegarLoop]: Abstraction has 174 states and 208 transitions. [2022-04-27 11:37:03,434 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.9166666666666665) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:03,434 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 208 transitions. [2022-04-27 11:37:03,434 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-27 11:37:03,434 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:37:03,434 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:37:03,465 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-27 11:37:03,650 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-27 11:37:03,650 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:37:03,650 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:37:03,650 INFO L85 PathProgramCache]: Analyzing trace with hash 1243243306, now seen corresponding path program 19 times [2022-04-27 11:37:03,651 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:37:03,651 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1084091696] [2022-04-27 11:37:03,651 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:37:03,651 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:37:03,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:03,735 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:37:03,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:03,739 INFO L290 TraceCheckUtils]: 0: Hoare triple {18556#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {18517#true} is VALID [2022-04-27 11:37:03,739 INFO L290 TraceCheckUtils]: 1: Hoare triple {18517#true} assume true; {18517#true} is VALID [2022-04-27 11:37:03,740 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18517#true} {18517#true} #117#return; {18517#true} is VALID [2022-04-27 11:37:03,740 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:37:03,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:03,820 INFO L290 TraceCheckUtils]: 0: Hoare triple {18517#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:03,820 INFO L290 TraceCheckUtils]: 1: Hoare triple {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:03,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:03,821 INFO L290 TraceCheckUtils]: 3: Hoare triple {18557#(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; {18558#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:03,821 INFO L290 TraceCheckUtils]: 4: Hoare triple {18558#(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; {18559#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:03,821 INFO L290 TraceCheckUtils]: 5: Hoare triple {18559#(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; {18560#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:03,822 INFO L290 TraceCheckUtils]: 6: Hoare triple {18560#(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; {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:37:03,822 INFO L290 TraceCheckUtils]: 7: Hoare triple {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:37:03,822 INFO L290 TraceCheckUtils]: 8: Hoare triple {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {18562#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-27 11:37:03,823 INFO L290 TraceCheckUtils]: 9: Hoare triple {18562#(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; {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:03,824 INFO L290 TraceCheckUtils]: 10: Hoare triple {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:03,824 INFO L290 TraceCheckUtils]: 11: Hoare triple {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:03,824 INFO L290 TraceCheckUtils]: 12: Hoare triple {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:03,825 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {18517#true} #111#return; {18536#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-27 11:37:03,825 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-27 11:37:03,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:03,975 INFO L290 TraceCheckUtils]: 0: Hoare triple {18517#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:03,976 INFO L290 TraceCheckUtils]: 1: Hoare triple {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:03,976 INFO L290 TraceCheckUtils]: 2: Hoare triple {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:03,976 INFO L290 TraceCheckUtils]: 3: Hoare triple {18565#(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; {18566#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:03,977 INFO L290 TraceCheckUtils]: 4: Hoare triple {18566#(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; {18567#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:03,977 INFO L290 TraceCheckUtils]: 5: Hoare triple {18567#(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; {18568#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:03,978 INFO L290 TraceCheckUtils]: 6: Hoare triple {18568#(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; {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:37:03,978 INFO L290 TraceCheckUtils]: 7: Hoare triple {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:37:03,978 INFO L290 TraceCheckUtils]: 8: Hoare triple {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {18570#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-27 11:37:03,979 INFO L290 TraceCheckUtils]: 9: Hoare triple {18570#(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; {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:03,979 INFO L290 TraceCheckUtils]: 10: Hoare triple {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:03,979 INFO L290 TraceCheckUtils]: 11: Hoare triple {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:03,979 INFO L290 TraceCheckUtils]: 12: Hoare triple {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:03,980 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {18537#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {18552#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:37:03,980 INFO L272 TraceCheckUtils]: 0: Hoare triple {18517#true} call ULTIMATE.init(); {18556#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:37:03,980 INFO L290 TraceCheckUtils]: 1: Hoare triple {18556#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {18517#true} is VALID [2022-04-27 11:37:03,980 INFO L290 TraceCheckUtils]: 2: Hoare triple {18517#true} assume true; {18517#true} is VALID [2022-04-27 11:37:03,980 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18517#true} {18517#true} #117#return; {18517#true} is VALID [2022-04-27 11:37:03,981 INFO L272 TraceCheckUtils]: 4: Hoare triple {18517#true} call #t~ret10 := main(); {18517#true} is VALID [2022-04-27 11:37:03,981 INFO L290 TraceCheckUtils]: 5: Hoare triple {18517#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {18517#true} is VALID [2022-04-27 11:37:03,981 INFO L290 TraceCheckUtils]: 6: Hoare triple {18517#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {18517#true} is VALID [2022-04-27 11:37:03,981 INFO L272 TraceCheckUtils]: 7: Hoare triple {18517#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {18517#true} is VALID [2022-04-27 11:37:03,982 INFO L290 TraceCheckUtils]: 8: Hoare triple {18517#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:03,982 INFO L290 TraceCheckUtils]: 9: Hoare triple {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:03,983 INFO L290 TraceCheckUtils]: 10: Hoare triple {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:03,983 INFO L290 TraceCheckUtils]: 11: Hoare triple {18557#(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; {18558#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:03,983 INFO L290 TraceCheckUtils]: 12: Hoare triple {18558#(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; {18559#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:03,984 INFO L290 TraceCheckUtils]: 13: Hoare triple {18559#(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; {18560#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:03,984 INFO L290 TraceCheckUtils]: 14: Hoare triple {18560#(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; {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:37:03,984 INFO L290 TraceCheckUtils]: 15: Hoare triple {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:37:03,984 INFO L290 TraceCheckUtils]: 16: Hoare triple {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {18562#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-27 11:37:03,985 INFO L290 TraceCheckUtils]: 17: Hoare triple {18562#(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; {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:03,985 INFO L290 TraceCheckUtils]: 18: Hoare triple {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:03,985 INFO L290 TraceCheckUtils]: 19: Hoare triple {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:03,985 INFO L290 TraceCheckUtils]: 20: Hoare triple {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:03,986 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {18517#true} #111#return; {18536#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-27 11:37:03,986 INFO L290 TraceCheckUtils]: 22: Hoare triple {18536#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {18537#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-27 11:37:03,986 INFO L272 TraceCheckUtils]: 23: Hoare triple {18537#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {18517#true} is VALID [2022-04-27 11:37:03,986 INFO L290 TraceCheckUtils]: 24: Hoare triple {18517#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:03,987 INFO L290 TraceCheckUtils]: 25: Hoare triple {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:03,987 INFO L290 TraceCheckUtils]: 26: Hoare triple {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:03,987 INFO L290 TraceCheckUtils]: 27: Hoare triple {18565#(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; {18566#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:03,988 INFO L290 TraceCheckUtils]: 28: Hoare triple {18566#(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; {18567#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:03,988 INFO L290 TraceCheckUtils]: 29: Hoare triple {18567#(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; {18568#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:03,988 INFO L290 TraceCheckUtils]: 30: Hoare triple {18568#(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; {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:37:03,988 INFO L290 TraceCheckUtils]: 31: Hoare triple {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:37:03,989 INFO L290 TraceCheckUtils]: 32: Hoare triple {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {18570#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-27 11:37:03,989 INFO L290 TraceCheckUtils]: 33: Hoare triple {18570#(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; {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:03,989 INFO L290 TraceCheckUtils]: 34: Hoare triple {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:03,989 INFO L290 TraceCheckUtils]: 35: Hoare triple {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:03,990 INFO L290 TraceCheckUtils]: 36: Hoare triple {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:03,990 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {18537#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {18552#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:37:03,990 INFO L290 TraceCheckUtils]: 38: Hoare triple {18552#(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; {18553#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:37:03,991 INFO L272 TraceCheckUtils]: 39: Hoare triple {18553#(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)); {18554#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:37:03,991 INFO L290 TraceCheckUtils]: 40: Hoare triple {18554#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {18555#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:37:03,991 INFO L290 TraceCheckUtils]: 41: Hoare triple {18555#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {18518#false} is VALID [2022-04-27 11:37:03,991 INFO L290 TraceCheckUtils]: 42: Hoare triple {18518#false} assume !false; {18518#false} is VALID [2022-04-27 11:37:03,992 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-27 11:37:03,992 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:37:03,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1084091696] [2022-04-27 11:37:03,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1084091696] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:37:03,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1200056847] [2022-04-27 11:37:03,992 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-04-27 11:37:03,992 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:03,992 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:37:03,993 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-27 11:37:03,995 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-27 11:37:04,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:04,051 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-27 11:37:04,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:04,059 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:37:04,509 INFO L272 TraceCheckUtils]: 0: Hoare triple {18517#true} call ULTIMATE.init(); {18517#true} is VALID [2022-04-27 11:37:04,509 INFO L290 TraceCheckUtils]: 1: Hoare triple {18517#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {18517#true} is VALID [2022-04-27 11:37:04,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {18517#true} assume true; {18517#true} is VALID [2022-04-27 11:37:04,509 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18517#true} {18517#true} #117#return; {18517#true} is VALID [2022-04-27 11:37:04,509 INFO L272 TraceCheckUtils]: 4: Hoare triple {18517#true} call #t~ret10 := main(); {18517#true} is VALID [2022-04-27 11:37:04,509 INFO L290 TraceCheckUtils]: 5: Hoare triple {18517#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {18517#true} is VALID [2022-04-27 11:37:04,509 INFO L290 TraceCheckUtils]: 6: Hoare triple {18517#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {18517#true} is VALID [2022-04-27 11:37:04,509 INFO L272 TraceCheckUtils]: 7: Hoare triple {18517#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {18517#true} is VALID [2022-04-27 11:37:04,509 INFO L290 TraceCheckUtils]: 8: Hoare triple {18517#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:04,510 INFO L290 TraceCheckUtils]: 9: Hoare triple {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:04,510 INFO L290 TraceCheckUtils]: 10: Hoare triple {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:04,510 INFO L290 TraceCheckUtils]: 11: Hoare triple {18557#(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; {18558#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:04,511 INFO L290 TraceCheckUtils]: 12: Hoare triple {18558#(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; {18559#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:04,511 INFO L290 TraceCheckUtils]: 13: Hoare triple {18559#(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; {18560#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:04,511 INFO L290 TraceCheckUtils]: 14: Hoare triple {18560#(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; {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:37:04,512 INFO L290 TraceCheckUtils]: 15: Hoare triple {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:37:04,512 INFO L290 TraceCheckUtils]: 16: Hoare triple {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {18624#(and (<= 4 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:37:04,512 INFO L290 TraceCheckUtils]: 17: Hoare triple {18624#(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; {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:04,513 INFO L290 TraceCheckUtils]: 18: Hoare triple {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:04,513 INFO L290 TraceCheckUtils]: 19: Hoare triple {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:04,513 INFO L290 TraceCheckUtils]: 20: Hoare triple {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:04,514 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {18517#true} #111#return; {18536#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-27 11:37:04,514 INFO L290 TraceCheckUtils]: 22: Hoare triple {18536#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {18537#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-27 11:37:04,514 INFO L272 TraceCheckUtils]: 23: Hoare triple {18537#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {18517#true} is VALID [2022-04-27 11:37:04,514 INFO L290 TraceCheckUtils]: 24: Hoare triple {18517#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:04,515 INFO L290 TraceCheckUtils]: 25: Hoare triple {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:04,515 INFO L290 TraceCheckUtils]: 26: Hoare triple {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:04,515 INFO L290 TraceCheckUtils]: 27: Hoare triple {18565#(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; {18566#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:04,516 INFO L290 TraceCheckUtils]: 28: Hoare triple {18566#(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; {18567#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:04,516 INFO L290 TraceCheckUtils]: 29: Hoare triple {18567#(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; {18568#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:04,516 INFO L290 TraceCheckUtils]: 30: Hoare triple {18568#(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; {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:37:04,517 INFO L290 TraceCheckUtils]: 31: Hoare triple {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:37:04,517 INFO L290 TraceCheckUtils]: 32: Hoare triple {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {18673#(and (= student_version_~y~1 0) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:37:04,517 INFO L290 TraceCheckUtils]: 33: Hoare triple {18673#(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; {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:04,518 INFO L290 TraceCheckUtils]: 34: Hoare triple {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:04,518 INFO L290 TraceCheckUtils]: 35: Hoare triple {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:04,518 INFO L290 TraceCheckUtils]: 36: Hoare triple {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:04,519 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {18537#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {18689#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0) (<= |main_#t~ret9| 4) (<= 4 |main_#t~ret9|))} is VALID [2022-04-27 11:37:04,519 INFO L290 TraceCheckUtils]: 38: Hoare triple {18689#(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; {18693#(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-27 11:37:04,519 INFO L272 TraceCheckUtils]: 39: Hoare triple {18693#(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)); {18697#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:37:04,520 INFO L290 TraceCheckUtils]: 40: Hoare triple {18697#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18701#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:37:04,520 INFO L290 TraceCheckUtils]: 41: Hoare triple {18701#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18518#false} is VALID [2022-04-27 11:37:04,520 INFO L290 TraceCheckUtils]: 42: Hoare triple {18518#false} assume !false; {18518#false} is VALID [2022-04-27 11:37:04,520 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-27 11:37:04,520 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:37:04,801 INFO L290 TraceCheckUtils]: 42: Hoare triple {18518#false} assume !false; {18518#false} is VALID [2022-04-27 11:37:04,801 INFO L290 TraceCheckUtils]: 41: Hoare triple {18701#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18518#false} is VALID [2022-04-27 11:37:04,802 INFO L290 TraceCheckUtils]: 40: Hoare triple {18697#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18701#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:37:04,802 INFO L272 TraceCheckUtils]: 39: Hoare triple {18553#(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)); {18697#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:37:04,802 INFO L290 TraceCheckUtils]: 38: Hoare triple {18552#(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; {18553#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:37:04,803 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {18537#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {18552#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:37:04,803 INFO L290 TraceCheckUtils]: 36: Hoare triple {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:04,803 INFO L290 TraceCheckUtils]: 35: Hoare triple {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {18572#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:04,804 INFO L290 TraceCheckUtils]: 34: Hoare triple {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:04,804 INFO L290 TraceCheckUtils]: 33: Hoare triple {18570#(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; {18571#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:04,804 INFO L290 TraceCheckUtils]: 32: Hoare triple {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {18570#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-27 11:37:04,804 INFO L290 TraceCheckUtils]: 31: Hoare triple {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:37:04,805 INFO L290 TraceCheckUtils]: 30: Hoare triple {18568#(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; {18569#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:37:04,805 INFO L290 TraceCheckUtils]: 29: Hoare triple {18567#(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; {18568#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:04,805 INFO L290 TraceCheckUtils]: 28: Hoare triple {18566#(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; {18567#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:04,806 INFO L290 TraceCheckUtils]: 27: Hoare triple {18565#(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; {18566#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:04,806 INFO L290 TraceCheckUtils]: 26: Hoare triple {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:04,806 INFO L290 TraceCheckUtils]: 25: Hoare triple {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:04,807 INFO L290 TraceCheckUtils]: 24: Hoare triple {18517#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {18565#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:04,807 INFO L272 TraceCheckUtils]: 23: Hoare triple {18537#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {18517#true} is VALID [2022-04-27 11:37:04,807 INFO L290 TraceCheckUtils]: 22: Hoare triple {18536#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {18537#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-27 11:37:04,807 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {18517#true} #111#return; {18536#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-27 11:37:04,808 INFO L290 TraceCheckUtils]: 20: Hoare triple {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:04,808 INFO L290 TraceCheckUtils]: 19: Hoare triple {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {18564#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:04,808 INFO L290 TraceCheckUtils]: 18: Hoare triple {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:04,808 INFO L290 TraceCheckUtils]: 17: Hoare triple {18562#(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; {18563#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:04,809 INFO L290 TraceCheckUtils]: 16: Hoare triple {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {18562#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-27 11:37:04,809 INFO L290 TraceCheckUtils]: 15: Hoare triple {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:37:04,809 INFO L290 TraceCheckUtils]: 14: Hoare triple {18560#(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; {18561#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:37:04,809 INFO L290 TraceCheckUtils]: 13: Hoare triple {18559#(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; {18560#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:04,810 INFO L290 TraceCheckUtils]: 12: Hoare triple {18558#(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; {18559#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:04,810 INFO L290 TraceCheckUtils]: 11: Hoare triple {18557#(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; {18558#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:04,810 INFO L290 TraceCheckUtils]: 10: Hoare triple {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:04,811 INFO L290 TraceCheckUtils]: 9: Hoare triple {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:04,811 INFO L290 TraceCheckUtils]: 8: Hoare triple {18517#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {18557#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:04,811 INFO L272 TraceCheckUtils]: 7: Hoare triple {18517#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {18517#true} is VALID [2022-04-27 11:37:04,811 INFO L290 TraceCheckUtils]: 6: Hoare triple {18517#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {18517#true} is VALID [2022-04-27 11:37:04,811 INFO L290 TraceCheckUtils]: 5: Hoare triple {18517#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {18517#true} is VALID [2022-04-27 11:37:04,811 INFO L272 TraceCheckUtils]: 4: Hoare triple {18517#true} call #t~ret10 := main(); {18517#true} is VALID [2022-04-27 11:37:04,811 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18517#true} {18517#true} #117#return; {18517#true} is VALID [2022-04-27 11:37:04,811 INFO L290 TraceCheckUtils]: 2: Hoare triple {18517#true} assume true; {18517#true} is VALID [2022-04-27 11:37:04,811 INFO L290 TraceCheckUtils]: 1: Hoare triple {18517#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {18517#true} is VALID [2022-04-27 11:37:04,811 INFO L272 TraceCheckUtils]: 0: Hoare triple {18517#true} call ULTIMATE.init(); {18517#true} is VALID [2022-04-27 11:37:04,812 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-27 11:37:04,812 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1200056847] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:37:04,812 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:37:04,812 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 31 [2022-04-27 11:37:04,812 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [732893871] [2022-04-27 11:37:04,812 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:37:04,812 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 25 states have internal predecessors, (43), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 43 [2022-04-27 11:37:04,813 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:37:04,813 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 25 states have internal predecessors, (43), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:04,835 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:37:04,835 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-27 11:37:04,836 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:37:04,837 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-27 11:37:04,837 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=861, Unknown=0, NotChecked=0, Total=930 [2022-04-27 11:37:04,837 INFO L87 Difference]: Start difference. First operand 174 states and 208 transitions. Second operand has 31 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 25 states have internal predecessors, (43), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:08,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:08,181 INFO L93 Difference]: Finished difference Result 224 states and 267 transitions. [2022-04-27 11:37:08,181 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-27 11:37:08,181 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 25 states have internal predecessors, (43), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 43 [2022-04-27 11:37:08,182 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:37:08,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 25 states have internal predecessors, (43), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:08,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 126 transitions. [2022-04-27 11:37:08,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 25 states have internal predecessors, (43), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:08,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 126 transitions. [2022-04-27 11:37:08,184 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 126 transitions. [2022-04-27 11:37:08,281 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-27 11:37:08,284 INFO L225 Difference]: With dead ends: 224 [2022-04-27 11:37:08,284 INFO L226 Difference]: Without dead ends: 218 [2022-04-27 11:37:08,285 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 80 SyntacticMatches, 5 SemanticMatches, 52 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 398 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=193, Invalid=2669, Unknown=0, NotChecked=0, Total=2862 [2022-04-27 11:37:08,285 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 130 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 2056 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 135 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 2092 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 2056 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-27 11:37:08,285 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [135 Valid, 180 Invalid, 2092 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 2056 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-27 11:37:08,286 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 218 states. [2022-04-27 11:37:08,841 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 218 to 190. [2022-04-27 11:37:08,841 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:37:08,842 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-27 11:37:08,842 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-27 11:37:08,842 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-27 11:37:08,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:08,845 INFO L93 Difference]: Finished difference Result 218 states and 261 transitions. [2022-04-27 11:37:08,845 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 261 transitions. [2022-04-27 11:37:08,846 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:08,846 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:08,846 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-27 11:37:08,846 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-27 11:37:08,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:08,849 INFO L93 Difference]: Finished difference Result 218 states and 261 transitions. [2022-04-27 11:37:08,849 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 261 transitions. [2022-04-27 11:37:08,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:08,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:08,850 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:37:08,850 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:37:08,850 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-27 11:37:08,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 227 transitions. [2022-04-27 11:37:08,853 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 227 transitions. Word has length 43 [2022-04-27 11:37:08,853 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:37:08,853 INFO L495 AbstractCegarLoop]: Abstraction has 190 states and 227 transitions. [2022-04-27 11:37:08,853 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 25 states have internal predecessors, (43), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:08,853 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 227 transitions. [2022-04-27 11:37:08,854 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-27 11:37:08,854 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:37:08,854 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:37:08,870 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-27 11:37:09,070 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-27 11:37:09,071 INFO L420 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:37:09,071 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:37:09,071 INFO L85 PathProgramCache]: Analyzing trace with hash 1453763067, now seen corresponding path program 20 times [2022-04-27 11:37:09,071 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:37:09,071 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2093011484] [2022-04-27 11:37:09,071 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:37:09,071 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:37:09,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:09,096 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:37:09,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:09,098 INFO L290 TraceCheckUtils]: 0: Hoare triple {19946#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {19912#true} is VALID [2022-04-27 11:37:09,098 INFO L290 TraceCheckUtils]: 1: Hoare triple {19912#true} assume true; {19912#true} is VALID [2022-04-27 11:37:09,098 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {19912#true} {19912#true} #117#return; {19912#true} is VALID [2022-04-27 11:37:09,098 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:37:09,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:09,160 INFO L290 TraceCheckUtils]: 0: Hoare triple {19912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {19947#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:37:09,160 INFO L290 TraceCheckUtils]: 1: Hoare triple {19947#(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; {19948#(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-27 11:37:09,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {19948#(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; {19949#(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-27 11:37:09,161 INFO L290 TraceCheckUtils]: 3: Hoare triple {19949#(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); {19950#(and (= |correct_version_#in~a| correct_version_~a) (<= |correct_version_#in~n| (* 2 correct_version_~a)))} is VALID [2022-04-27 11:37:09,162 INFO L290 TraceCheckUtils]: 4: Hoare triple {19950#(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; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,162 INFO L290 TraceCheckUtils]: 5: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~l~0 < ~m); {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,162 INFO L290 TraceCheckUtils]: 6: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,162 INFO L290 TraceCheckUtils]: 7: Hoare triple {19951#(<= |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; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,163 INFO L290 TraceCheckUtils]: 8: Hoare triple {19951#(<= |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; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,163 INFO L290 TraceCheckUtils]: 9: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,163 INFO L290 TraceCheckUtils]: 10: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} #res := ~y~0; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,163 INFO L290 TraceCheckUtils]: 11: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume true; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,164 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} {19912#true} #111#return; {19930#(<= main_~n~0 (* main_~a~0 2))} is VALID [2022-04-27 11:37:09,164 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-27 11:37:09,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:09,259 INFO L290 TraceCheckUtils]: 0: Hoare triple {19912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {19952#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:37:09,260 INFO L290 TraceCheckUtils]: 1: Hoare triple {19952#(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; {19953#(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-27 11:37:09,260 INFO L290 TraceCheckUtils]: 2: Hoare triple {19953#(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; {19954#(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-27 11:37:09,261 INFO L290 TraceCheckUtils]: 3: Hoare triple {19954#(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; {19955#(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-27 11:37:09,261 INFO L290 TraceCheckUtils]: 4: Hoare triple {19955#(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); {19956#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 2 student_version_~a) 1) |student_version_#in~n|))} is VALID [2022-04-27 11:37:09,261 INFO L290 TraceCheckUtils]: 5: Hoare triple {19956#(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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,262 INFO L290 TraceCheckUtils]: 6: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,262 INFO L290 TraceCheckUtils]: 7: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,262 INFO L290 TraceCheckUtils]: 8: Hoare triple {19957#(<= (+ (* |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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,262 INFO L290 TraceCheckUtils]: 9: Hoare triple {19957#(<= (+ (* |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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,263 INFO L290 TraceCheckUtils]: 10: Hoare triple {19957#(<= (+ (* |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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,263 INFO L290 TraceCheckUtils]: 11: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,263 INFO L290 TraceCheckUtils]: 12: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} #res := ~y~1; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,263 INFO L290 TraceCheckUtils]: 13: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume true; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,265 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} {19930#(<= main_~n~0 (* main_~a~0 2))} #113#return; {19913#false} is VALID [2022-04-27 11:37:09,265 INFO L272 TraceCheckUtils]: 0: Hoare triple {19912#true} call ULTIMATE.init(); {19946#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:37:09,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {19946#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {19912#true} is VALID [2022-04-27 11:37:09,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {19912#true} assume true; {19912#true} is VALID [2022-04-27 11:37:09,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19912#true} {19912#true} #117#return; {19912#true} is VALID [2022-04-27 11:37:09,265 INFO L272 TraceCheckUtils]: 4: Hoare triple {19912#true} call #t~ret10 := main(); {19912#true} is VALID [2022-04-27 11:37:09,265 INFO L290 TraceCheckUtils]: 5: Hoare triple {19912#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {19912#true} is VALID [2022-04-27 11:37:09,265 INFO L290 TraceCheckUtils]: 6: Hoare triple {19912#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {19912#true} is VALID [2022-04-27 11:37:09,266 INFO L272 TraceCheckUtils]: 7: Hoare triple {19912#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {19912#true} is VALID [2022-04-27 11:37:09,266 INFO L290 TraceCheckUtils]: 8: Hoare triple {19912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {19947#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:37:09,266 INFO L290 TraceCheckUtils]: 9: Hoare triple {19947#(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; {19948#(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-27 11:37:09,267 INFO L290 TraceCheckUtils]: 10: Hoare triple {19948#(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; {19949#(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-27 11:37:09,267 INFO L290 TraceCheckUtils]: 11: Hoare triple {19949#(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); {19950#(and (= |correct_version_#in~a| correct_version_~a) (<= |correct_version_#in~n| (* 2 correct_version_~a)))} is VALID [2022-04-27 11:37:09,268 INFO L290 TraceCheckUtils]: 12: Hoare triple {19950#(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; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,268 INFO L290 TraceCheckUtils]: 13: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~l~0 < ~m); {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,268 INFO L290 TraceCheckUtils]: 14: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,269 INFO L290 TraceCheckUtils]: 15: Hoare triple {19951#(<= |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; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,269 INFO L290 TraceCheckUtils]: 16: Hoare triple {19951#(<= |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; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,269 INFO L290 TraceCheckUtils]: 17: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,269 INFO L290 TraceCheckUtils]: 18: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} #res := ~y~0; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,270 INFO L290 TraceCheckUtils]: 19: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume true; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,270 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} {19912#true} #111#return; {19930#(<= main_~n~0 (* main_~a~0 2))} is VALID [2022-04-27 11:37:09,271 INFO L290 TraceCheckUtils]: 21: Hoare triple {19930#(<= main_~n~0 (* main_~a~0 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {19930#(<= main_~n~0 (* main_~a~0 2))} is VALID [2022-04-27 11:37:09,271 INFO L272 TraceCheckUtils]: 22: Hoare triple {19930#(<= main_~n~0 (* main_~a~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {19912#true} is VALID [2022-04-27 11:37:09,271 INFO L290 TraceCheckUtils]: 23: Hoare triple {19912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {19952#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:37:09,272 INFO L290 TraceCheckUtils]: 24: Hoare triple {19952#(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; {19953#(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-27 11:37:09,272 INFO L290 TraceCheckUtils]: 25: Hoare triple {19953#(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; {19954#(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-27 11:37:09,273 INFO L290 TraceCheckUtils]: 26: Hoare triple {19954#(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; {19955#(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-27 11:37:09,273 INFO L290 TraceCheckUtils]: 27: Hoare triple {19955#(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); {19956#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 2 student_version_~a) 1) |student_version_#in~n|))} is VALID [2022-04-27 11:37:09,273 INFO L290 TraceCheckUtils]: 28: Hoare triple {19956#(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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,274 INFO L290 TraceCheckUtils]: 29: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,274 INFO L290 TraceCheckUtils]: 30: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,274 INFO L290 TraceCheckUtils]: 31: Hoare triple {19957#(<= (+ (* |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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,274 INFO L290 TraceCheckUtils]: 32: Hoare triple {19957#(<= (+ (* |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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,275 INFO L290 TraceCheckUtils]: 33: Hoare triple {19957#(<= (+ (* |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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,275 INFO L290 TraceCheckUtils]: 34: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,275 INFO L290 TraceCheckUtils]: 35: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} #res := ~y~1; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,275 INFO L290 TraceCheckUtils]: 36: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume true; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,276 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} {19930#(<= main_~n~0 (* main_~a~0 2))} #113#return; {19913#false} is VALID [2022-04-27 11:37:09,277 INFO L290 TraceCheckUtils]: 38: Hoare triple {19913#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {19913#false} is VALID [2022-04-27 11:37:09,277 INFO L272 TraceCheckUtils]: 39: Hoare triple {19913#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {19913#false} is VALID [2022-04-27 11:37:09,277 INFO L290 TraceCheckUtils]: 40: Hoare triple {19913#false} ~cond := #in~cond; {19913#false} is VALID [2022-04-27 11:37:09,277 INFO L290 TraceCheckUtils]: 41: Hoare triple {19913#false} assume 0 == ~cond; {19913#false} is VALID [2022-04-27 11:37:09,277 INFO L290 TraceCheckUtils]: 42: Hoare triple {19913#false} assume !false; {19913#false} is VALID [2022-04-27 11:37:09,277 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-27 11:37:09,277 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:37:09,277 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2093011484] [2022-04-27 11:37:09,277 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2093011484] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:37:09,278 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1051457294] [2022-04-27 11:37:09,278 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:37:09,278 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:09,278 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:37:09,279 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-27 11:37:09,281 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-27 11:37:09,331 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:37:09,331 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:37:09,332 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-27 11:37:09,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:09,343 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:37:09,947 INFO L272 TraceCheckUtils]: 0: Hoare triple {19912#true} call ULTIMATE.init(); {19912#true} is VALID [2022-04-27 11:37:09,947 INFO L290 TraceCheckUtils]: 1: Hoare triple {19912#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {19912#true} is VALID [2022-04-27 11:37:09,947 INFO L290 TraceCheckUtils]: 2: Hoare triple {19912#true} assume true; {19912#true} is VALID [2022-04-27 11:37:09,947 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19912#true} {19912#true} #117#return; {19912#true} is VALID [2022-04-27 11:37:09,947 INFO L272 TraceCheckUtils]: 4: Hoare triple {19912#true} call #t~ret10 := main(); {19912#true} is VALID [2022-04-27 11:37:09,947 INFO L290 TraceCheckUtils]: 5: Hoare triple {19912#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {19912#true} is VALID [2022-04-27 11:37:09,947 INFO L290 TraceCheckUtils]: 6: Hoare triple {19912#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {19912#true} is VALID [2022-04-27 11:37:09,947 INFO L272 TraceCheckUtils]: 7: Hoare triple {19912#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {19912#true} is VALID [2022-04-27 11:37:09,948 INFO L290 TraceCheckUtils]: 8: Hoare triple {19912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {19985#(and (<= correct_version_~b~0 0) (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,948 INFO L290 TraceCheckUtils]: 9: Hoare triple {19985#(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; {19989#(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-27 11:37:09,949 INFO L290 TraceCheckUtils]: 10: Hoare triple {19989#(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; {19993#(and (<= (div (- correct_version_~b~0) (- 2)) |correct_version_#in~a|) (<= |correct_version_#in~n| correct_version_~n))} is VALID [2022-04-27 11:37:09,949 INFO L290 TraceCheckUtils]: 11: Hoare triple {19993#(and (<= (div (- correct_version_~b~0) (- 2)) |correct_version_#in~a|) (<= |correct_version_#in~n| correct_version_~n))} assume !(~b~0 < ~n); {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,949 INFO L290 TraceCheckUtils]: 12: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~l~0 < ~m); {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,950 INFO L290 TraceCheckUtils]: 14: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,950 INFO L290 TraceCheckUtils]: 15: Hoare triple {19951#(<= |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; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,950 INFO L290 TraceCheckUtils]: 16: Hoare triple {19951#(<= |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; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,950 INFO L290 TraceCheckUtils]: 17: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,950 INFO L290 TraceCheckUtils]: 18: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} #res := ~y~0; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,951 INFO L290 TraceCheckUtils]: 19: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume true; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:09,951 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} {19912#true} #111#return; {19930#(<= main_~n~0 (* main_~a~0 2))} is VALID [2022-04-27 11:37:09,951 INFO L290 TraceCheckUtils]: 21: Hoare triple {19930#(<= main_~n~0 (* main_~a~0 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {19930#(<= main_~n~0 (* main_~a~0 2))} is VALID [2022-04-27 11:37:09,951 INFO L272 TraceCheckUtils]: 22: Hoare triple {19930#(<= main_~n~0 (* main_~a~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {19912#true} is VALID [2022-04-27 11:37:09,952 INFO L290 TraceCheckUtils]: 23: Hoare triple {19912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {20033#(and (<= 0 student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-27 11:37:09,952 INFO L290 TraceCheckUtils]: 24: Hoare triple {20033#(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; {20037#(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-27 11:37:09,952 INFO L290 TraceCheckUtils]: 25: Hoare triple {20037#(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; {20041#(and (<= |student_version_#in~a| (div student_version_~b~1 2)) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-27 11:37:09,953 INFO L290 TraceCheckUtils]: 26: Hoare triple {20041#(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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,953 INFO L290 TraceCheckUtils]: 27: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,953 INFO L290 TraceCheckUtils]: 28: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,953 INFO L290 TraceCheckUtils]: 29: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,954 INFO L290 TraceCheckUtils]: 30: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,954 INFO L290 TraceCheckUtils]: 31: Hoare triple {19957#(<= (+ (* |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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,954 INFO L290 TraceCheckUtils]: 32: Hoare triple {19957#(<= (+ (* |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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,954 INFO L290 TraceCheckUtils]: 33: Hoare triple {19957#(<= (+ (* |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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,954 INFO L290 TraceCheckUtils]: 34: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,954 INFO L290 TraceCheckUtils]: 35: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} #res := ~y~1; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,955 INFO L290 TraceCheckUtils]: 36: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume true; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:09,955 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} {19930#(<= main_~n~0 (* main_~a~0 2))} #113#return; {19913#false} is VALID [2022-04-27 11:37:09,955 INFO L290 TraceCheckUtils]: 38: Hoare triple {19913#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {19913#false} is VALID [2022-04-27 11:37:09,955 INFO L272 TraceCheckUtils]: 39: Hoare triple {19913#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {19913#false} is VALID [2022-04-27 11:37:09,955 INFO L290 TraceCheckUtils]: 40: Hoare triple {19913#false} ~cond := #in~cond; {19913#false} is VALID [2022-04-27 11:37:09,955 INFO L290 TraceCheckUtils]: 41: Hoare triple {19913#false} assume 0 == ~cond; {19913#false} is VALID [2022-04-27 11:37:09,955 INFO L290 TraceCheckUtils]: 42: Hoare triple {19913#false} assume !false; {19913#false} is VALID [2022-04-27 11:37:09,956 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-27 11:37:09,956 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:37:10,597 INFO L290 TraceCheckUtils]: 42: Hoare triple {19913#false} assume !false; {19913#false} is VALID [2022-04-27 11:37:10,597 INFO L290 TraceCheckUtils]: 41: Hoare triple {19913#false} assume 0 == ~cond; {19913#false} is VALID [2022-04-27 11:37:10,597 INFO L290 TraceCheckUtils]: 40: Hoare triple {19913#false} ~cond := #in~cond; {19913#false} is VALID [2022-04-27 11:37:10,597 INFO L272 TraceCheckUtils]: 39: Hoare triple {19913#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {19913#false} is VALID [2022-04-27 11:37:10,597 INFO L290 TraceCheckUtils]: 38: Hoare triple {19913#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {19913#false} is VALID [2022-04-27 11:37:10,598 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} {19930#(<= main_~n~0 (* main_~a~0 2))} #113#return; {19913#false} is VALID [2022-04-27 11:37:10,598 INFO L290 TraceCheckUtils]: 36: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume true; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:10,598 INFO L290 TraceCheckUtils]: 35: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} #res := ~y~1; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:10,598 INFO L290 TraceCheckUtils]: 34: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:10,598 INFO L290 TraceCheckUtils]: 33: Hoare triple {19957#(<= (+ (* |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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:10,598 INFO L290 TraceCheckUtils]: 32: Hoare triple {19957#(<= (+ (* |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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:10,599 INFO L290 TraceCheckUtils]: 31: Hoare triple {19957#(<= (+ (* |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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:10,599 INFO L290 TraceCheckUtils]: 30: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:10,599 INFO L290 TraceCheckUtils]: 29: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:10,599 INFO L290 TraceCheckUtils]: 28: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:10,599 INFO L290 TraceCheckUtils]: 27: Hoare triple {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:10,599 INFO L290 TraceCheckUtils]: 26: Hoare triple {20144#(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; {19957#(<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:37:10,600 INFO L290 TraceCheckUtils]: 25: Hoare triple {20148#(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; {20144#(or (<= (+ (* |student_version_#in~a| 2) 1) |student_version_#in~n|) (not (< student_version_~b~1 student_version_~n)))} is VALID [2022-04-27 11:37:10,600 INFO L290 TraceCheckUtils]: 24: Hoare triple {20152#(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; {20148#(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-27 11:37:10,601 INFO L290 TraceCheckUtils]: 23: Hoare triple {19912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {20152#(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-27 11:37:10,601 INFO L272 TraceCheckUtils]: 22: Hoare triple {19930#(<= main_~n~0 (* main_~a~0 2))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {19912#true} is VALID [2022-04-27 11:37:10,601 INFO L290 TraceCheckUtils]: 21: Hoare triple {19930#(<= main_~n~0 (* main_~a~0 2))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {19930#(<= main_~n~0 (* main_~a~0 2))} is VALID [2022-04-27 11:37:10,601 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} {19912#true} #111#return; {19930#(<= main_~n~0 (* main_~a~0 2))} is VALID [2022-04-27 11:37:10,602 INFO L290 TraceCheckUtils]: 19: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume true; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:10,602 INFO L290 TraceCheckUtils]: 18: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} #res := ~y~0; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:10,602 INFO L290 TraceCheckUtils]: 17: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:10,602 INFO L290 TraceCheckUtils]: 16: Hoare triple {19951#(<= |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; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:10,602 INFO L290 TraceCheckUtils]: 15: Hoare triple {19951#(<= |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; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:10,603 INFO L290 TraceCheckUtils]: 14: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:10,603 INFO L290 TraceCheckUtils]: 13: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !(~l~0 < ~m); {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:10,603 INFO L290 TraceCheckUtils]: 12: Hoare triple {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:10,603 INFO L290 TraceCheckUtils]: 11: Hoare triple {20192#(or (<= |correct_version_#in~n| (* 2 |correct_version_#in~a|)) (< correct_version_~b~0 correct_version_~n))} assume !(~b~0 < ~n); {19951#(<= |correct_version_#in~n| (* 2 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:10,604 INFO L290 TraceCheckUtils]: 10: Hoare triple {20196#(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; {20192#(or (<= |correct_version_#in~n| (* 2 |correct_version_#in~a|)) (< correct_version_~b~0 correct_version_~n))} is VALID [2022-04-27 11:37:10,604 INFO L290 TraceCheckUtils]: 9: Hoare triple {20200#(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; {20196#(or (<= |correct_version_#in~n| (* 2 |correct_version_#in~a|)) (< (+ correct_version_~b~0 correct_version_~a) correct_version_~n))} is VALID [2022-04-27 11:37:10,604 INFO L290 TraceCheckUtils]: 8: Hoare triple {19912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {20200#(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-27 11:37:10,605 INFO L272 TraceCheckUtils]: 7: Hoare triple {19912#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {19912#true} is VALID [2022-04-27 11:37:10,605 INFO L290 TraceCheckUtils]: 6: Hoare triple {19912#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {19912#true} is VALID [2022-04-27 11:37:10,605 INFO L290 TraceCheckUtils]: 5: Hoare triple {19912#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {19912#true} is VALID [2022-04-27 11:37:10,605 INFO L272 TraceCheckUtils]: 4: Hoare triple {19912#true} call #t~ret10 := main(); {19912#true} is VALID [2022-04-27 11:37:10,605 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19912#true} {19912#true} #117#return; {19912#true} is VALID [2022-04-27 11:37:10,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {19912#true} assume true; {19912#true} is VALID [2022-04-27 11:37:10,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {19912#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {19912#true} is VALID [2022-04-27 11:37:10,605 INFO L272 TraceCheckUtils]: 0: Hoare triple {19912#true} call ULTIMATE.init(); {19912#true} is VALID [2022-04-27 11:37:10,605 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-27 11:37:10,605 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1051457294] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:37:10,605 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:37:10,605 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 11, 11] total 27 [2022-04-27 11:37:10,605 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [824547417] [2022-04-27 11:37:10,606 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:37:10,606 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-27 11:37:10,606 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:37:10,606 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:10,630 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-27 11:37:10,630 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-27 11:37:10,630 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:37:10,630 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-27 11:37:10,631 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=614, Unknown=0, NotChecked=0, Total=702 [2022-04-27 11:37:10,631 INFO L87 Difference]: Start difference. First operand 190 states and 227 transitions. Second operand has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:12,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:12,232 INFO L93 Difference]: Finished difference Result 230 states and 273 transitions. [2022-04-27 11:37:12,232 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-27 11:37:12,232 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-27 11:37:12,232 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:37:12,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:12,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 90 transitions. [2022-04-27 11:37:12,233 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:12,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 90 transitions. [2022-04-27 11:37:12,234 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 90 transitions. [2022-04-27 11:37:12,316 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-27 11:37:12,319 INFO L225 Difference]: With dead ends: 230 [2022-04-27 11:37:12,319 INFO L226 Difference]: Without dead ends: 215 [2022-04-27 11:37:12,320 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 72 SyntacticMatches, 6 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 174 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=185, Invalid=1297, Unknown=0, NotChecked=0, Total=1482 [2022-04-27 11:37:12,320 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 192 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 775 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 196 SdHoareTripleChecker+Valid, 114 SdHoareTripleChecker+Invalid, 802 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 775 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-27 11:37:12,321 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [196 Valid, 114 Invalid, 802 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 775 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-27 11:37:12,321 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 215 states. [2022-04-27 11:37:12,696 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 215 to 210. [2022-04-27 11:37:12,696 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:37:12,696 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-27 11:37:12,697 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-27 11:37:12,697 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-27 11:37:12,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:12,700 INFO L93 Difference]: Finished difference Result 215 states and 254 transitions. [2022-04-27 11:37:12,700 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 254 transitions. [2022-04-27 11:37:12,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:12,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:12,701 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-27 11:37:12,701 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-27 11:37:12,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:12,704 INFO L93 Difference]: Finished difference Result 215 states and 254 transitions. [2022-04-27 11:37:12,704 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 254 transitions. [2022-04-27 11:37:12,705 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:12,705 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:12,705 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:37:12,705 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:37:12,705 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-27 11:37:12,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 249 transitions. [2022-04-27 11:37:12,708 INFO L78 Accepts]: Start accepts. Automaton has 210 states and 249 transitions. Word has length 43 [2022-04-27 11:37:12,708 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:37:12,708 INFO L495 AbstractCegarLoop]: Abstraction has 210 states and 249 transitions. [2022-04-27 11:37:12,709 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:12,709 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 249 transitions. [2022-04-27 11:37:12,709 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-27 11:37:12,709 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:37:12,710 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:37:12,725 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Ended with exit code 0 [2022-04-27 11:37:12,925 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:12,926 INFO L420 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:37:12,926 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:37:12,926 INFO L85 PathProgramCache]: Analyzing trace with hash 1804610186, now seen corresponding path program 21 times [2022-04-27 11:37:12,926 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:37:12,926 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1692188789] [2022-04-27 11:37:12,926 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:37:12,926 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:37:12,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:12,998 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:37:12,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:13,000 INFO L290 TraceCheckUtils]: 0: Hoare triple {21331#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {21292#true} is VALID [2022-04-27 11:37:13,001 INFO L290 TraceCheckUtils]: 1: Hoare triple {21292#true} assume true; {21292#true} is VALID [2022-04-27 11:37:13,001 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21292#true} {21292#true} #117#return; {21292#true} is VALID [2022-04-27 11:37:13,001 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:37:13,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:13,105 INFO L290 TraceCheckUtils]: 0: Hoare triple {21292#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:13,106 INFO L290 TraceCheckUtils]: 1: Hoare triple {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:13,106 INFO L290 TraceCheckUtils]: 2: Hoare triple {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:13,106 INFO L290 TraceCheckUtils]: 3: Hoare triple {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:13,107 INFO L290 TraceCheckUtils]: 4: Hoare triple {21332#(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; {21333#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:13,107 INFO L290 TraceCheckUtils]: 5: Hoare triple {21333#(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; {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:13,107 INFO L290 TraceCheckUtils]: 6: Hoare triple {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:13,108 INFO L290 TraceCheckUtils]: 7: Hoare triple {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {21335#(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-27 11:37:13,108 INFO L290 TraceCheckUtils]: 8: Hoare triple {21335#(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; {21336#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-27 11:37:13,109 INFO L290 TraceCheckUtils]: 9: Hoare triple {21336#(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; {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:13,109 INFO L290 TraceCheckUtils]: 10: Hoare triple {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:13,109 INFO L290 TraceCheckUtils]: 11: Hoare triple {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:13,110 INFO L290 TraceCheckUtils]: 12: Hoare triple {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:13,110 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {21292#true} #111#return; {21311#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-27 11:37:13,111 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-27 11:37:13,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:13,233 INFO L290 TraceCheckUtils]: 0: Hoare triple {21292#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:13,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:13,233 INFO L290 TraceCheckUtils]: 2: Hoare triple {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:13,234 INFO L290 TraceCheckUtils]: 3: Hoare triple {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:13,234 INFO L290 TraceCheckUtils]: 4: Hoare triple {21339#(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; {21340#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:13,234 INFO L290 TraceCheckUtils]: 5: Hoare triple {21340#(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; {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:13,238 INFO L290 TraceCheckUtils]: 6: Hoare triple {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:13,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {21342#(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-27 11:37:13,239 INFO L290 TraceCheckUtils]: 8: Hoare triple {21342#(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; {21343#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-27 11:37:13,239 INFO L290 TraceCheckUtils]: 9: Hoare triple {21343#(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; {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:13,239 INFO L290 TraceCheckUtils]: 10: Hoare triple {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:13,240 INFO L290 TraceCheckUtils]: 11: Hoare triple {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:13,240 INFO L290 TraceCheckUtils]: 12: Hoare triple {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:13,241 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {21312#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {21327#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:37:13,241 INFO L272 TraceCheckUtils]: 0: Hoare triple {21292#true} call ULTIMATE.init(); {21331#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:37:13,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {21331#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {21292#true} is VALID [2022-04-27 11:37:13,241 INFO L290 TraceCheckUtils]: 2: Hoare triple {21292#true} assume true; {21292#true} is VALID [2022-04-27 11:37:13,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21292#true} {21292#true} #117#return; {21292#true} is VALID [2022-04-27 11:37:13,241 INFO L272 TraceCheckUtils]: 4: Hoare triple {21292#true} call #t~ret10 := main(); {21292#true} is VALID [2022-04-27 11:37:13,241 INFO L290 TraceCheckUtils]: 5: Hoare triple {21292#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {21292#true} is VALID [2022-04-27 11:37:13,241 INFO L290 TraceCheckUtils]: 6: Hoare triple {21292#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {21292#true} is VALID [2022-04-27 11:37:13,241 INFO L272 TraceCheckUtils]: 7: Hoare triple {21292#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {21292#true} is VALID [2022-04-27 11:37:13,242 INFO L290 TraceCheckUtils]: 8: Hoare triple {21292#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:13,242 INFO L290 TraceCheckUtils]: 9: Hoare triple {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:13,242 INFO L290 TraceCheckUtils]: 10: Hoare triple {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:13,242 INFO L290 TraceCheckUtils]: 11: Hoare triple {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:13,243 INFO L290 TraceCheckUtils]: 12: Hoare triple {21332#(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; {21333#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:13,243 INFO L290 TraceCheckUtils]: 13: Hoare triple {21333#(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; {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:13,243 INFO L290 TraceCheckUtils]: 14: Hoare triple {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:13,244 INFO L290 TraceCheckUtils]: 15: Hoare triple {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {21335#(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-27 11:37:13,244 INFO L290 TraceCheckUtils]: 16: Hoare triple {21335#(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; {21336#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-27 11:37:13,245 INFO L290 TraceCheckUtils]: 17: Hoare triple {21336#(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; {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:13,245 INFO L290 TraceCheckUtils]: 18: Hoare triple {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:13,245 INFO L290 TraceCheckUtils]: 19: Hoare triple {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:13,245 INFO L290 TraceCheckUtils]: 20: Hoare triple {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:13,246 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {21292#true} #111#return; {21311#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-27 11:37:13,246 INFO L290 TraceCheckUtils]: 22: Hoare triple {21311#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {21312#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-27 11:37:13,246 INFO L272 TraceCheckUtils]: 23: Hoare triple {21312#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {21292#true} is VALID [2022-04-27 11:37:13,246 INFO L290 TraceCheckUtils]: 24: Hoare triple {21292#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:13,247 INFO L290 TraceCheckUtils]: 25: Hoare triple {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:13,247 INFO L290 TraceCheckUtils]: 26: Hoare triple {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:13,247 INFO L290 TraceCheckUtils]: 27: Hoare triple {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:13,248 INFO L290 TraceCheckUtils]: 28: Hoare triple {21339#(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; {21340#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:13,248 INFO L290 TraceCheckUtils]: 29: Hoare triple {21340#(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; {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:13,248 INFO L290 TraceCheckUtils]: 30: Hoare triple {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:13,249 INFO L290 TraceCheckUtils]: 31: Hoare triple {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {21342#(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-27 11:37:13,249 INFO L290 TraceCheckUtils]: 32: Hoare triple {21342#(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; {21343#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-27 11:37:13,249 INFO L290 TraceCheckUtils]: 33: Hoare triple {21343#(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; {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:13,250 INFO L290 TraceCheckUtils]: 34: Hoare triple {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:13,250 INFO L290 TraceCheckUtils]: 35: Hoare triple {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:13,250 INFO L290 TraceCheckUtils]: 36: Hoare triple {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:13,251 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {21312#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {21327#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:37:13,251 INFO L290 TraceCheckUtils]: 38: Hoare triple {21327#(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; {21328#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:37:13,252 INFO L272 TraceCheckUtils]: 39: Hoare triple {21328#(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)); {21329#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:37:13,252 INFO L290 TraceCheckUtils]: 40: Hoare triple {21329#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {21330#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:37:13,252 INFO L290 TraceCheckUtils]: 41: Hoare triple {21330#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {21293#false} is VALID [2022-04-27 11:37:13,252 INFO L290 TraceCheckUtils]: 42: Hoare triple {21293#false} assume !false; {21293#false} is VALID [2022-04-27 11:37:13,252 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-27 11:37:13,252 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:37:13,252 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1692188789] [2022-04-27 11:37:13,253 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1692188789] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:37:13,253 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [542433561] [2022-04-27 11:37:13,253 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:37:13,253 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:13,253 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:37:13,254 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-27 11:37:13,255 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-27 11:37:13,306 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-04-27 11:37:13,306 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:37:13,307 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-27 11:37:13,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:13,314 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:37:13,675 INFO L272 TraceCheckUtils]: 0: Hoare triple {21292#true} call ULTIMATE.init(); {21292#true} is VALID [2022-04-27 11:37:13,675 INFO L290 TraceCheckUtils]: 1: Hoare triple {21292#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {21292#true} is VALID [2022-04-27 11:37:13,675 INFO L290 TraceCheckUtils]: 2: Hoare triple {21292#true} assume true; {21292#true} is VALID [2022-04-27 11:37:13,675 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21292#true} {21292#true} #117#return; {21292#true} is VALID [2022-04-27 11:37:13,675 INFO L272 TraceCheckUtils]: 4: Hoare triple {21292#true} call #t~ret10 := main(); {21292#true} is VALID [2022-04-27 11:37:13,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {21292#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {21292#true} is VALID [2022-04-27 11:37:13,675 INFO L290 TraceCheckUtils]: 6: Hoare triple {21292#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {21292#true} is VALID [2022-04-27 11:37:13,675 INFO L272 TraceCheckUtils]: 7: Hoare triple {21292#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {21292#true} is VALID [2022-04-27 11:37:13,675 INFO L290 TraceCheckUtils]: 8: Hoare triple {21292#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:13,676 INFO L290 TraceCheckUtils]: 9: Hoare triple {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:13,676 INFO L290 TraceCheckUtils]: 10: Hoare triple {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:13,676 INFO L290 TraceCheckUtils]: 11: Hoare triple {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:13,677 INFO L290 TraceCheckUtils]: 12: Hoare triple {21332#(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; {21333#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:13,692 INFO L290 TraceCheckUtils]: 13: Hoare triple {21333#(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; {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:13,692 INFO L290 TraceCheckUtils]: 14: Hoare triple {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:13,692 INFO L290 TraceCheckUtils]: 15: Hoare triple {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {21394#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 0))} is VALID [2022-04-27 11:37:13,693 INFO L290 TraceCheckUtils]: 16: Hoare triple {21394#(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; {21398#(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-27 11:37:13,693 INFO L290 TraceCheckUtils]: 17: Hoare triple {21398#(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; {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:13,694 INFO L290 TraceCheckUtils]: 18: Hoare triple {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:13,694 INFO L290 TraceCheckUtils]: 19: Hoare triple {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:13,694 INFO L290 TraceCheckUtils]: 20: Hoare triple {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:13,695 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {21292#true} #111#return; {21311#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-27 11:37:13,695 INFO L290 TraceCheckUtils]: 22: Hoare triple {21311#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {21312#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-27 11:37:13,696 INFO L272 TraceCheckUtils]: 23: Hoare triple {21312#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {21292#true} is VALID [2022-04-27 11:37:13,696 INFO L290 TraceCheckUtils]: 24: Hoare triple {21292#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:13,696 INFO L290 TraceCheckUtils]: 25: Hoare triple {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:13,697 INFO L290 TraceCheckUtils]: 26: Hoare triple {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:13,697 INFO L290 TraceCheckUtils]: 27: Hoare triple {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:13,697 INFO L290 TraceCheckUtils]: 28: Hoare triple {21339#(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; {21340#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:13,698 INFO L290 TraceCheckUtils]: 29: Hoare triple {21340#(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; {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:13,698 INFO L290 TraceCheckUtils]: 30: Hoare triple {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:13,699 INFO L290 TraceCheckUtils]: 31: Hoare triple {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {21444#(and (= student_version_~y~1 0) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:13,699 INFO L290 TraceCheckUtils]: 32: Hoare triple {21444#(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; {21448#(and (<= student_version_~j~1 2) (= student_version_~j~1 student_version_~y~1) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:13,700 INFO L290 TraceCheckUtils]: 33: Hoare triple {21448#(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; {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:13,700 INFO L290 TraceCheckUtils]: 34: Hoare triple {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:13,700 INFO L290 TraceCheckUtils]: 35: Hoare triple {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:13,701 INFO L290 TraceCheckUtils]: 36: Hoare triple {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:13,702 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {21312#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {21464#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0) (<= |main_#t~ret9| 4) (<= 4 |main_#t~ret9|))} is VALID [2022-04-27 11:37:13,702 INFO L290 TraceCheckUtils]: 38: Hoare triple {21464#(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; {21468#(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-27 11:37:13,703 INFO L272 TraceCheckUtils]: 39: Hoare triple {21468#(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)); {21472#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:37:13,703 INFO L290 TraceCheckUtils]: 40: Hoare triple {21472#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21476#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:37:13,703 INFO L290 TraceCheckUtils]: 41: Hoare triple {21476#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21293#false} is VALID [2022-04-27 11:37:13,703 INFO L290 TraceCheckUtils]: 42: Hoare triple {21293#false} assume !false; {21293#false} is VALID [2022-04-27 11:37:13,704 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-27 11:37:13,704 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:37:14,095 INFO L290 TraceCheckUtils]: 42: Hoare triple {21293#false} assume !false; {21293#false} is VALID [2022-04-27 11:37:14,096 INFO L290 TraceCheckUtils]: 41: Hoare triple {21476#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21293#false} is VALID [2022-04-27 11:37:14,096 INFO L290 TraceCheckUtils]: 40: Hoare triple {21472#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21476#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:37:14,097 INFO L272 TraceCheckUtils]: 39: Hoare triple {21328#(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)); {21472#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:37:14,097 INFO L290 TraceCheckUtils]: 38: Hoare triple {21327#(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; {21328#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:37:14,098 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {21312#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {21327#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:37:14,112 INFO L290 TraceCheckUtils]: 36: Hoare triple {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:14,112 INFO L290 TraceCheckUtils]: 35: Hoare triple {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {21345#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:37:14,112 INFO L290 TraceCheckUtils]: 34: Hoare triple {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:14,113 INFO L290 TraceCheckUtils]: 33: Hoare triple {21343#(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; {21344#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:37:14,113 INFO L290 TraceCheckUtils]: 32: Hoare triple {21342#(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; {21343#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-27 11:37:14,114 INFO L290 TraceCheckUtils]: 31: Hoare triple {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {21342#(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-27 11:37:14,114 INFO L290 TraceCheckUtils]: 30: Hoare triple {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:14,114 INFO L290 TraceCheckUtils]: 29: Hoare triple {21340#(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; {21341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:14,115 INFO L290 TraceCheckUtils]: 28: Hoare triple {21339#(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; {21340#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:14,115 INFO L290 TraceCheckUtils]: 27: Hoare triple {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:14,115 INFO L290 TraceCheckUtils]: 26: Hoare triple {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:14,116 INFO L290 TraceCheckUtils]: 25: Hoare triple {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:14,116 INFO L290 TraceCheckUtils]: 24: Hoare triple {21292#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {21339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:14,116 INFO L272 TraceCheckUtils]: 23: Hoare triple {21312#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {21292#true} is VALID [2022-04-27 11:37:14,117 INFO L290 TraceCheckUtils]: 22: Hoare triple {21311#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {21312#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-27 11:37:14,117 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {21292#true} #111#return; {21311#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-27 11:37:14,117 INFO L290 TraceCheckUtils]: 20: Hoare triple {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:14,118 INFO L290 TraceCheckUtils]: 19: Hoare triple {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {21338#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:37:14,118 INFO L290 TraceCheckUtils]: 18: Hoare triple {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:14,119 INFO L290 TraceCheckUtils]: 17: Hoare triple {21336#(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; {21337#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:37:14,119 INFO L290 TraceCheckUtils]: 16: Hoare triple {21335#(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; {21336#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-27 11:37:14,119 INFO L290 TraceCheckUtils]: 15: Hoare triple {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {21335#(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-27 11:37:14,120 INFO L290 TraceCheckUtils]: 14: Hoare triple {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:14,120 INFO L290 TraceCheckUtils]: 13: Hoare triple {21333#(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; {21334#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:14,121 INFO L290 TraceCheckUtils]: 12: Hoare triple {21332#(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; {21333#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:14,121 INFO L290 TraceCheckUtils]: 11: Hoare triple {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:14,121 INFO L290 TraceCheckUtils]: 10: Hoare triple {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:14,122 INFO L290 TraceCheckUtils]: 9: Hoare triple {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:14,122 INFO L290 TraceCheckUtils]: 8: Hoare triple {21292#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {21332#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:14,122 INFO L272 TraceCheckUtils]: 7: Hoare triple {21292#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {21292#true} is VALID [2022-04-27 11:37:14,122 INFO L290 TraceCheckUtils]: 6: Hoare triple {21292#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {21292#true} is VALID [2022-04-27 11:37:14,122 INFO L290 TraceCheckUtils]: 5: Hoare triple {21292#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {21292#true} is VALID [2022-04-27 11:37:14,122 INFO L272 TraceCheckUtils]: 4: Hoare triple {21292#true} call #t~ret10 := main(); {21292#true} is VALID [2022-04-27 11:37:14,122 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21292#true} {21292#true} #117#return; {21292#true} is VALID [2022-04-27 11:37:14,122 INFO L290 TraceCheckUtils]: 2: Hoare triple {21292#true} assume true; {21292#true} is VALID [2022-04-27 11:37:14,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {21292#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {21292#true} is VALID [2022-04-27 11:37:14,122 INFO L272 TraceCheckUtils]: 0: Hoare triple {21292#true} call ULTIMATE.init(); {21292#true} is VALID [2022-04-27 11:37:14,123 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-27 11:37:14,123 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [542433561] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:37:14,123 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:37:14,123 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 22, 22] total 31 [2022-04-27 11:37:14,123 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1205967285] [2022-04-27 11:37:14,123 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:37:14,123 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 25 states have internal predecessors, (43), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 43 [2022-04-27 11:37:14,123 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:37:14,124 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 25 states have internal predecessors, (43), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:14,156 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:37:14,156 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-27 11:37:14,156 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:37:14,156 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-27 11:37:14,156 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=857, Unknown=0, NotChecked=0, Total=930 [2022-04-27 11:37:14,157 INFO L87 Difference]: Start difference. First operand 210 states and 249 transitions. Second operand has 31 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 25 states have internal predecessors, (43), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:16,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:16,653 INFO L93 Difference]: Finished difference Result 228 states and 271 transitions. [2022-04-27 11:37:16,654 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-27 11:37:16,654 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 25 states have internal predecessors, (43), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 43 [2022-04-27 11:37:16,654 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:37:16,654 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 25 states have internal predecessors, (43), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:16,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 96 transitions. [2022-04-27 11:37:16,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 25 states have internal predecessors, (43), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:16,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 96 transitions. [2022-04-27 11:37:16,655 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 96 transitions. [2022-04-27 11:37:16,728 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-27 11:37:16,731 INFO L225 Difference]: With dead ends: 228 [2022-04-27 11:37:16,731 INFO L226 Difference]: Without dead ends: 213 [2022-04-27 11:37:16,733 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 74 SyntacticMatches, 9 SemanticMatches, 50 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 417 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=195, Invalid=2457, Unknown=0, NotChecked=0, Total=2652 [2022-04-27 11:37:16,733 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 80 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 1446 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 82 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 1475 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 1446 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-27 11:37:16,733 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [82 Valid, 163 Invalid, 1475 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 1446 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-27 11:37:16,733 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 213 states. [2022-04-27 11:37:17,347 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 213 to 208. [2022-04-27 11:37:17,347 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:37:17,348 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-27 11:37:17,348 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-27 11:37:17,348 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-27 11:37:17,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:17,351 INFO L93 Difference]: Finished difference Result 213 states and 253 transitions. [2022-04-27 11:37:17,351 INFO L276 IsEmpty]: Start isEmpty. Operand 213 states and 253 transitions. [2022-04-27 11:37:17,352 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:17,352 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:17,352 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-27 11:37:17,352 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-27 11:37:17,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:17,355 INFO L93 Difference]: Finished difference Result 213 states and 253 transitions. [2022-04-27 11:37:17,355 INFO L276 IsEmpty]: Start isEmpty. Operand 213 states and 253 transitions. [2022-04-27 11:37:17,356 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:17,356 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:17,356 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:37:17,356 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:37:17,356 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-27 11:37:17,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 248 transitions. [2022-04-27 11:37:17,360 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 248 transitions. Word has length 43 [2022-04-27 11:37:17,360 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:37:17,360 INFO L495 AbstractCegarLoop]: Abstraction has 208 states and 248 transitions. [2022-04-27 11:37:17,360 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 25 states have internal predecessors, (43), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:17,360 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 248 transitions. [2022-04-27 11:37:17,361 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-27 11:37:17,361 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:37:17,361 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:37:17,378 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Ended with exit code 0 [2022-04-27 11:37:17,575 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable30,22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:17,575 INFO L420 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:37:17,575 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:37:17,576 INFO L85 PathProgramCache]: Analyzing trace with hash -2095538945, now seen corresponding path program 22 times [2022-04-27 11:37:17,576 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:37:17,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1790685948] [2022-04-27 11:37:17,576 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:37:17,576 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:37:17,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:17,610 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:37:17,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:17,612 INFO L290 TraceCheckUtils]: 0: Hoare triple {22719#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {22685#true} is VALID [2022-04-27 11:37:17,612 INFO L290 TraceCheckUtils]: 1: Hoare triple {22685#true} assume true; {22685#true} is VALID [2022-04-27 11:37:17,612 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {22685#true} {22685#true} #117#return; {22685#true} is VALID [2022-04-27 11:37:17,612 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:37:17,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:17,678 INFO L290 TraceCheckUtils]: 0: Hoare triple {22685#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {22720#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:37:17,678 INFO L290 TraceCheckUtils]: 1: Hoare triple {22720#(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; {22721#(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-27 11:37:17,679 INFO L290 TraceCheckUtils]: 2: Hoare triple {22721#(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; {22722#(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-27 11:37:17,679 INFO L290 TraceCheckUtils]: 3: Hoare triple {22722#(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; {22723#(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-27 11:37:17,680 INFO L290 TraceCheckUtils]: 4: Hoare triple {22723#(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); {22724#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 2 correct_version_~a) 1) |correct_version_#in~n|))} is VALID [2022-04-27 11:37:17,680 INFO L290 TraceCheckUtils]: 5: Hoare triple {22724#(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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,681 INFO L290 TraceCheckUtils]: 6: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,681 INFO L290 TraceCheckUtils]: 7: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,681 INFO L290 TraceCheckUtils]: 8: Hoare triple {22725#(<= (+ (* 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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,682 INFO L290 TraceCheckUtils]: 9: Hoare triple {22725#(<= (+ (* 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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,682 INFO L290 TraceCheckUtils]: 10: Hoare triple {22725#(<= (+ (* 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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,682 INFO L290 TraceCheckUtils]: 11: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,683 INFO L290 TraceCheckUtils]: 12: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,683 INFO L290 TraceCheckUtils]: 13: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,683 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {22685#true} #111#return; {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} is VALID [2022-04-27 11:37:17,684 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 11:37:17,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:17,762 INFO L290 TraceCheckUtils]: 0: Hoare triple {22685#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {22726#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:37:17,763 INFO L290 TraceCheckUtils]: 1: Hoare triple {22726#(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; {22727#(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-27 11:37:17,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {22727#(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; {22728#(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-27 11:37:17,764 INFO L290 TraceCheckUtils]: 3: Hoare triple {22728#(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); {22729#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 2 student_version_~a)))} is VALID [2022-04-27 11:37:17,764 INFO L290 TraceCheckUtils]: 4: Hoare triple {22729#(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; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,764 INFO L290 TraceCheckUtils]: 5: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~l~1 < ~m); {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,764 INFO L290 TraceCheckUtils]: 6: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,765 INFO L290 TraceCheckUtils]: 7: Hoare triple {22730#(<= |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; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,765 INFO L290 TraceCheckUtils]: 8: Hoare triple {22730#(<= |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; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,765 INFO L290 TraceCheckUtils]: 9: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,766 INFO L290 TraceCheckUtils]: 10: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} #res := ~y~1; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,766 INFO L290 TraceCheckUtils]: 11: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume true; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,767 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} #113#return; {22686#false} is VALID [2022-04-27 11:37:17,767 INFO L272 TraceCheckUtils]: 0: Hoare triple {22685#true} call ULTIMATE.init(); {22719#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:37:17,767 INFO L290 TraceCheckUtils]: 1: Hoare triple {22719#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {22685#true} is VALID [2022-04-27 11:37:17,767 INFO L290 TraceCheckUtils]: 2: Hoare triple {22685#true} assume true; {22685#true} is VALID [2022-04-27 11:37:17,767 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22685#true} {22685#true} #117#return; {22685#true} is VALID [2022-04-27 11:37:17,767 INFO L272 TraceCheckUtils]: 4: Hoare triple {22685#true} call #t~ret10 := main(); {22685#true} is VALID [2022-04-27 11:37:17,767 INFO L290 TraceCheckUtils]: 5: Hoare triple {22685#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {22685#true} is VALID [2022-04-27 11:37:17,767 INFO L290 TraceCheckUtils]: 6: Hoare triple {22685#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {22685#true} is VALID [2022-04-27 11:37:17,767 INFO L272 TraceCheckUtils]: 7: Hoare triple {22685#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {22685#true} is VALID [2022-04-27 11:37:17,768 INFO L290 TraceCheckUtils]: 8: Hoare triple {22685#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {22720#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:37:17,768 INFO L290 TraceCheckUtils]: 9: Hoare triple {22720#(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; {22721#(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-27 11:37:17,769 INFO L290 TraceCheckUtils]: 10: Hoare triple {22721#(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; {22722#(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-27 11:37:17,769 INFO L290 TraceCheckUtils]: 11: Hoare triple {22722#(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; {22723#(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-27 11:37:17,770 INFO L290 TraceCheckUtils]: 12: Hoare triple {22723#(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); {22724#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 2 correct_version_~a) 1) |correct_version_#in~n|))} is VALID [2022-04-27 11:37:17,770 INFO L290 TraceCheckUtils]: 13: Hoare triple {22724#(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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,770 INFO L290 TraceCheckUtils]: 14: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,771 INFO L290 TraceCheckUtils]: 15: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,771 INFO L290 TraceCheckUtils]: 16: Hoare triple {22725#(<= (+ (* 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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,771 INFO L290 TraceCheckUtils]: 17: Hoare triple {22725#(<= (+ (* 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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,772 INFO L290 TraceCheckUtils]: 18: Hoare triple {22725#(<= (+ (* 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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,772 INFO L290 TraceCheckUtils]: 19: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,772 INFO L290 TraceCheckUtils]: 20: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,773 INFO L290 TraceCheckUtils]: 21: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:17,773 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {22685#true} #111#return; {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} is VALID [2022-04-27 11:37:17,774 INFO L290 TraceCheckUtils]: 23: Hoare triple {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} is VALID [2022-04-27 11:37:17,774 INFO L272 TraceCheckUtils]: 24: Hoare triple {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {22685#true} is VALID [2022-04-27 11:37:17,774 INFO L290 TraceCheckUtils]: 25: Hoare triple {22685#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {22726#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:37:17,775 INFO L290 TraceCheckUtils]: 26: Hoare triple {22726#(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; {22727#(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-27 11:37:17,775 INFO L290 TraceCheckUtils]: 27: Hoare triple {22727#(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; {22728#(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-27 11:37:17,775 INFO L290 TraceCheckUtils]: 28: Hoare triple {22728#(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); {22729#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 2 student_version_~a)))} is VALID [2022-04-27 11:37:17,776 INFO L290 TraceCheckUtils]: 29: Hoare triple {22729#(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; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,776 INFO L290 TraceCheckUtils]: 30: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~l~1 < ~m); {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,776 INFO L290 TraceCheckUtils]: 31: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,777 INFO L290 TraceCheckUtils]: 32: Hoare triple {22730#(<= |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; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,777 INFO L290 TraceCheckUtils]: 33: Hoare triple {22730#(<= |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; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,777 INFO L290 TraceCheckUtils]: 34: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,777 INFO L290 TraceCheckUtils]: 35: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} #res := ~y~1; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,778 INFO L290 TraceCheckUtils]: 36: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume true; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:17,778 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} #113#return; {22686#false} is VALID [2022-04-27 11:37:17,778 INFO L290 TraceCheckUtils]: 38: Hoare triple {22686#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {22686#false} is VALID [2022-04-27 11:37:17,778 INFO L272 TraceCheckUtils]: 39: Hoare triple {22686#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {22686#false} is VALID [2022-04-27 11:37:17,779 INFO L290 TraceCheckUtils]: 40: Hoare triple {22686#false} ~cond := #in~cond; {22686#false} is VALID [2022-04-27 11:37:17,779 INFO L290 TraceCheckUtils]: 41: Hoare triple {22686#false} assume 0 == ~cond; {22686#false} is VALID [2022-04-27 11:37:17,779 INFO L290 TraceCheckUtils]: 42: Hoare triple {22686#false} assume !false; {22686#false} is VALID [2022-04-27 11:37:17,779 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-27 11:37:17,779 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:37:17,779 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1790685948] [2022-04-27 11:37:17,779 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1790685948] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:37:17,779 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2013283631] [2022-04-27 11:37:17,779 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 11:37:17,779 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:17,779 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:37:17,780 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-27 11:37:17,784 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-27 11:37:17,831 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 11:37:17,831 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:37:17,832 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-27 11:37:17,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:17,842 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:37:19,189 INFO L272 TraceCheckUtils]: 0: Hoare triple {22685#true} call ULTIMATE.init(); {22685#true} is VALID [2022-04-27 11:37:19,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {22685#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {22685#true} is VALID [2022-04-27 11:37:19,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {22685#true} assume true; {22685#true} is VALID [2022-04-27 11:37:19,190 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22685#true} {22685#true} #117#return; {22685#true} is VALID [2022-04-27 11:37:19,190 INFO L272 TraceCheckUtils]: 4: Hoare triple {22685#true} call #t~ret10 := main(); {22685#true} is VALID [2022-04-27 11:37:19,190 INFO L290 TraceCheckUtils]: 5: Hoare triple {22685#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {22685#true} is VALID [2022-04-27 11:37:19,190 INFO L290 TraceCheckUtils]: 6: Hoare triple {22685#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {22685#true} is VALID [2022-04-27 11:37:19,190 INFO L272 TraceCheckUtils]: 7: Hoare triple {22685#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {22685#true} is VALID [2022-04-27 11:37:19,191 INFO L290 TraceCheckUtils]: 8: Hoare triple {22685#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {22758#(and (<= correct_version_~n |correct_version_#in~n|) (<= 0 correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:37:19,191 INFO L290 TraceCheckUtils]: 9: Hoare triple {22758#(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; {22762#(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-27 11:37:19,192 INFO L290 TraceCheckUtils]: 10: Hoare triple {22762#(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; {22766#(and (<= |correct_version_#in~a| (div correct_version_~b~0 2)) (<= correct_version_~n |correct_version_#in~n|))} is VALID [2022-04-27 11:37:19,192 INFO L290 TraceCheckUtils]: 11: Hoare triple {22766#(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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:19,193 INFO L290 TraceCheckUtils]: 12: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:19,193 INFO L290 TraceCheckUtils]: 13: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:19,193 INFO L290 TraceCheckUtils]: 14: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:19,194 INFO L290 TraceCheckUtils]: 15: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:19,194 INFO L290 TraceCheckUtils]: 16: Hoare triple {22725#(<= (+ (* 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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:19,194 INFO L290 TraceCheckUtils]: 17: Hoare triple {22725#(<= (+ (* 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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:19,195 INFO L290 TraceCheckUtils]: 18: Hoare triple {22725#(<= (+ (* 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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:19,195 INFO L290 TraceCheckUtils]: 19: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:19,195 INFO L290 TraceCheckUtils]: 20: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:19,195 INFO L290 TraceCheckUtils]: 21: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:19,196 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {22685#true} #111#return; {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} is VALID [2022-04-27 11:37:19,196 INFO L290 TraceCheckUtils]: 23: Hoare triple {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} is VALID [2022-04-27 11:37:19,197 INFO L272 TraceCheckUtils]: 24: Hoare triple {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {22685#true} is VALID [2022-04-27 11:37:19,197 INFO L290 TraceCheckUtils]: 25: Hoare triple {22685#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {22812#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 0) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:37:19,197 INFO L290 TraceCheckUtils]: 26: Hoare triple {22812#(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; {22816#(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-27 11:37:19,198 INFO L290 TraceCheckUtils]: 27: Hoare triple {22816#(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; {22820#(and (<= (div (- student_version_~b~1) (- 2)) |student_version_#in~a|) (<= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:37:19,198 INFO L290 TraceCheckUtils]: 28: Hoare triple {22820#(and (<= (div (- student_version_~b~1) (- 2)) |student_version_#in~a|) (<= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:19,199 INFO L290 TraceCheckUtils]: 29: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:19,199 INFO L290 TraceCheckUtils]: 30: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~l~1 < ~m); {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:19,199 INFO L290 TraceCheckUtils]: 31: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:19,199 INFO L290 TraceCheckUtils]: 32: Hoare triple {22730#(<= |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; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:19,200 INFO L290 TraceCheckUtils]: 33: Hoare triple {22730#(<= |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; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:19,200 INFO L290 TraceCheckUtils]: 34: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:19,200 INFO L290 TraceCheckUtils]: 35: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} #res := ~y~1; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:19,200 INFO L290 TraceCheckUtils]: 36: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume true; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:19,201 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} #113#return; {22686#false} is VALID [2022-04-27 11:37:19,201 INFO L290 TraceCheckUtils]: 38: Hoare triple {22686#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {22686#false} is VALID [2022-04-27 11:37:19,201 INFO L272 TraceCheckUtils]: 39: Hoare triple {22686#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {22686#false} is VALID [2022-04-27 11:37:19,201 INFO L290 TraceCheckUtils]: 40: Hoare triple {22686#false} ~cond := #in~cond; {22686#false} is VALID [2022-04-27 11:37:19,201 INFO L290 TraceCheckUtils]: 41: Hoare triple {22686#false} assume 0 == ~cond; {22686#false} is VALID [2022-04-27 11:37:19,202 INFO L290 TraceCheckUtils]: 42: Hoare triple {22686#false} assume !false; {22686#false} is VALID [2022-04-27 11:37:19,202 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-27 11:37:19,202 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:37:20,094 INFO L290 TraceCheckUtils]: 42: Hoare triple {22686#false} assume !false; {22686#false} is VALID [2022-04-27 11:37:20,095 INFO L290 TraceCheckUtils]: 41: Hoare triple {22686#false} assume 0 == ~cond; {22686#false} is VALID [2022-04-27 11:37:20,095 INFO L290 TraceCheckUtils]: 40: Hoare triple {22686#false} ~cond := #in~cond; {22686#false} is VALID [2022-04-27 11:37:20,095 INFO L272 TraceCheckUtils]: 39: Hoare triple {22686#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {22686#false} is VALID [2022-04-27 11:37:20,095 INFO L290 TraceCheckUtils]: 38: Hoare triple {22686#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {22686#false} is VALID [2022-04-27 11:37:20,096 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} #113#return; {22686#false} is VALID [2022-04-27 11:37:20,096 INFO L290 TraceCheckUtils]: 36: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume true; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:20,096 INFO L290 TraceCheckUtils]: 35: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} #res := ~y~1; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:20,096 INFO L290 TraceCheckUtils]: 34: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~x~1 < ~i~1); {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:20,097 INFO L290 TraceCheckUtils]: 33: Hoare triple {22730#(<= |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; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:20,097 INFO L290 TraceCheckUtils]: 32: Hoare triple {22730#(<= |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; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:20,097 INFO L290 TraceCheckUtils]: 31: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} ~x~1 := 0;~y~1 := 0; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:20,098 INFO L290 TraceCheckUtils]: 30: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !(~l~1 < ~m); {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:20,098 INFO L290 TraceCheckUtils]: 29: Hoare triple {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:20,098 INFO L290 TraceCheckUtils]: 28: Hoare triple {22911#(or (<= |student_version_#in~n| (* |student_version_#in~a| 2)) (< student_version_~b~1 student_version_~n))} assume !(~b~1 < ~n); {22730#(<= |student_version_#in~n| (* |student_version_#in~a| 2))} is VALID [2022-04-27 11:37:20,099 INFO L290 TraceCheckUtils]: 27: Hoare triple {22915#(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; {22911#(or (<= |student_version_#in~n| (* |student_version_#in~a| 2)) (< student_version_~b~1 student_version_~n))} is VALID [2022-04-27 11:37:20,099 INFO L290 TraceCheckUtils]: 26: Hoare triple {22919#(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; {22915#(or (<= |student_version_#in~n| (* |student_version_#in~a| 2)) (< (+ student_version_~b~1 student_version_~a) student_version_~n))} is VALID [2022-04-27 11:37:20,100 INFO L290 TraceCheckUtils]: 25: Hoare triple {22685#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {22919#(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-27 11:37:20,100 INFO L272 TraceCheckUtils]: 24: Hoare triple {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {22685#true} is VALID [2022-04-27 11:37:20,100 INFO L290 TraceCheckUtils]: 23: Hoare triple {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} is VALID [2022-04-27 11:37:20,101 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {22685#true} #111#return; {22705#(<= (+ (* main_~a~0 2) 1) main_~n~0)} is VALID [2022-04-27 11:37:20,101 INFO L290 TraceCheckUtils]: 21: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:20,101 INFO L290 TraceCheckUtils]: 20: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:20,102 INFO L290 TraceCheckUtils]: 19: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:20,102 INFO L290 TraceCheckUtils]: 18: Hoare triple {22725#(<= (+ (* 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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:20,102 INFO L290 TraceCheckUtils]: 17: Hoare triple {22725#(<= (+ (* 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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:20,103 INFO L290 TraceCheckUtils]: 16: Hoare triple {22725#(<= (+ (* 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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:20,103 INFO L290 TraceCheckUtils]: 15: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:20,103 INFO L290 TraceCheckUtils]: 14: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:20,104 INFO L290 TraceCheckUtils]: 13: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:20,104 INFO L290 TraceCheckUtils]: 12: Hoare triple {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:20,104 INFO L290 TraceCheckUtils]: 11: Hoare triple {22965#(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; {22725#(<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:37:20,105 INFO L290 TraceCheckUtils]: 10: Hoare triple {22969#(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; {22965#(or (not (< correct_version_~b~0 correct_version_~n)) (<= (+ (* 2 |correct_version_#in~a|) 1) |correct_version_#in~n|))} is VALID [2022-04-27 11:37:20,105 INFO L290 TraceCheckUtils]: 9: Hoare triple {22973#(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; {22969#(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-27 11:37:20,106 INFO L290 TraceCheckUtils]: 8: Hoare triple {22685#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {22973#(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-27 11:37:20,106 INFO L272 TraceCheckUtils]: 7: Hoare triple {22685#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {22685#true} is VALID [2022-04-27 11:37:20,106 INFO L290 TraceCheckUtils]: 6: Hoare triple {22685#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {22685#true} is VALID [2022-04-27 11:37:20,106 INFO L290 TraceCheckUtils]: 5: Hoare triple {22685#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {22685#true} is VALID [2022-04-27 11:37:20,106 INFO L272 TraceCheckUtils]: 4: Hoare triple {22685#true} call #t~ret10 := main(); {22685#true} is VALID [2022-04-27 11:37:20,106 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22685#true} {22685#true} #117#return; {22685#true} is VALID [2022-04-27 11:37:20,106 INFO L290 TraceCheckUtils]: 2: Hoare triple {22685#true} assume true; {22685#true} is VALID [2022-04-27 11:37:20,106 INFO L290 TraceCheckUtils]: 1: Hoare triple {22685#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {22685#true} is VALID [2022-04-27 11:37:20,106 INFO L272 TraceCheckUtils]: 0: Hoare triple {22685#true} call ULTIMATE.init(); {22685#true} is VALID [2022-04-27 11:37:20,106 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-27 11:37:20,107 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2013283631] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:37:20,107 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:37:20,107 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 11, 11] total 27 [2022-04-27 11:37:20,107 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [67566682] [2022-04-27 11:37:20,107 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:37:20,107 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-27 11:37:20,108 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:37:20,108 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:20,146 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-27 11:37:20,146 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-27 11:37:20,146 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:37:20,146 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-27 11:37:20,146 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=614, Unknown=0, NotChecked=0, Total=702 [2022-04-27 11:37:20,147 INFO L87 Difference]: Start difference. First operand 208 states and 248 transitions. Second operand has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:22,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:22,161 INFO L93 Difference]: Finished difference Result 222 states and 261 transitions. [2022-04-27 11:37:22,161 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-27 11:37:22,161 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-27 11:37:22,161 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:37:22,161 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:22,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 89 transitions. [2022-04-27 11:37:22,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:22,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 89 transitions. [2022-04-27 11:37:22,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 89 transitions. [2022-04-27 11:37:22,220 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-27 11:37:22,224 INFO L225 Difference]: With dead ends: 222 [2022-04-27 11:37:22,224 INFO L226 Difference]: Without dead ends: 202 [2022-04-27 11:37:22,242 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 72 SyntacticMatches, 6 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 180 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=185, Invalid=1297, Unknown=0, NotChecked=0, Total=1482 [2022-04-27 11:37:22,243 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 184 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 875 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 189 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 899 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 875 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-27 11:37:22,243 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [189 Valid, 120 Invalid, 899 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 875 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-27 11:37:22,244 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 202 states. [2022-04-27 11:37:22,587 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 202 to 200. [2022-04-27 11:37:22,587 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:37:22,588 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-27 11:37:22,588 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-27 11:37:22,588 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-27 11:37:22,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:22,591 INFO L93 Difference]: Finished difference Result 202 states and 238 transitions. [2022-04-27 11:37:22,591 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 238 transitions. [2022-04-27 11:37:22,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:22,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:22,592 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-27 11:37:22,592 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-27 11:37:22,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:22,600 INFO L93 Difference]: Finished difference Result 202 states and 238 transitions. [2022-04-27 11:37:22,600 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 238 transitions. [2022-04-27 11:37:22,600 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:22,600 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:22,600 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:37:22,600 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:37:22,601 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-27 11:37:22,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 200 states to 200 states and 236 transitions. [2022-04-27 11:37:22,610 INFO L78 Accepts]: Start accepts. Automaton has 200 states and 236 transitions. Word has length 43 [2022-04-27 11:37:22,610 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:37:22,610 INFO L495 AbstractCegarLoop]: Abstraction has 200 states and 236 transitions. [2022-04-27 11:37:22,610 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:22,610 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 236 transitions. [2022-04-27 11:37:22,612 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-27 11:37:22,612 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:37:22,612 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:37:22,630 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-27 11:37:22,828 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable31,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:22,829 INFO L420 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:37:22,829 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:37:22,829 INFO L85 PathProgramCache]: Analyzing trace with hash -1133635601, now seen corresponding path program 23 times [2022-04-27 11:37:22,829 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:37:22,829 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1797911561] [2022-04-27 11:37:22,829 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:37:22,829 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:37:22,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:22,864 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:37:22,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:22,873 INFO L290 TraceCheckUtils]: 0: Hoare triple {24044#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {24009#true} is VALID [2022-04-27 11:37:22,873 INFO L290 TraceCheckUtils]: 1: Hoare triple {24009#true} assume true; {24009#true} is VALID [2022-04-27 11:37:22,873 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {24009#true} {24009#true} #117#return; {24009#true} is VALID [2022-04-27 11:37:22,874 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:37:22,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:22,939 INFO L290 TraceCheckUtils]: 0: Hoare triple {24009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {24045#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:37:22,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {24045#(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; {24045#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:37:22,940 INFO L290 TraceCheckUtils]: 2: Hoare triple {24045#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {24045#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:37:22,941 INFO L290 TraceCheckUtils]: 3: Hoare triple {24045#(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; {24046#(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-27 11:37:22,941 INFO L290 TraceCheckUtils]: 4: Hoare triple {24046#(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; {24047#(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-27 11:37:22,941 INFO L290 TraceCheckUtils]: 5: Hoare triple {24047#(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; {24048#(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-27 11:37:22,942 INFO L290 TraceCheckUtils]: 6: Hoare triple {24048#(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; {24049#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* |correct_version_#in~a| 4)))} is VALID [2022-04-27 11:37:22,942 INFO L290 TraceCheckUtils]: 7: Hoare triple {24049#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* |correct_version_#in~a| 4)))} assume !(~l~0 < ~m); {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:22,943 INFO L290 TraceCheckUtils]: 8: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:22,943 INFO L290 TraceCheckUtils]: 9: Hoare triple {24050#(<= |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; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:22,943 INFO L290 TraceCheckUtils]: 10: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:22,943 INFO L290 TraceCheckUtils]: 11: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} #res := ~y~0; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:22,944 INFO L290 TraceCheckUtils]: 12: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume true; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:22,944 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} {24009#true} #111#return; {24028#(<= main_~m~0 (* main_~a~0 4))} is VALID [2022-04-27 11:37:22,944 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-27 11:37:22,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:23,058 INFO L290 TraceCheckUtils]: 0: Hoare triple {24009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {24051#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:37:23,059 INFO L290 TraceCheckUtils]: 1: Hoare triple {24051#(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; {24051#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:37:23,059 INFO L290 TraceCheckUtils]: 2: Hoare triple {24051#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {24051#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:37:23,059 INFO L290 TraceCheckUtils]: 3: Hoare triple {24051#(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; {24052#(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-27 11:37:23,060 INFO L290 TraceCheckUtils]: 4: Hoare triple {24052#(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; {24053#(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-27 11:37:23,060 INFO L290 TraceCheckUtils]: 5: Hoare triple {24053#(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; {24054#(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-27 11:37:23,061 INFO L290 TraceCheckUtils]: 6: Hoare triple {24054#(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; {24055#(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-27 11:37:23,061 INFO L290 TraceCheckUtils]: 7: Hoare triple {24055#(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; {24056#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 4) 1) student_version_~m))} is VALID [2022-04-27 11:37:23,062 INFO L290 TraceCheckUtils]: 8: Hoare triple {24056#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 4) 1) student_version_~m))} assume !(~l~1 < ~m); {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,062 INFO L290 TraceCheckUtils]: 9: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,062 INFO L290 TraceCheckUtils]: 10: Hoare triple {24057#(<= (+ (* |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; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,063 INFO L290 TraceCheckUtils]: 11: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,063 INFO L290 TraceCheckUtils]: 12: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} #res := ~y~1; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,063 INFO L290 TraceCheckUtils]: 13: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume true; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,064 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} {24028#(<= main_~m~0 (* main_~a~0 4))} #113#return; {24010#false} is VALID [2022-04-27 11:37:23,064 INFO L272 TraceCheckUtils]: 0: Hoare triple {24009#true} call ULTIMATE.init(); {24044#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:37:23,064 INFO L290 TraceCheckUtils]: 1: Hoare triple {24044#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {24009#true} is VALID [2022-04-27 11:37:23,064 INFO L290 TraceCheckUtils]: 2: Hoare triple {24009#true} assume true; {24009#true} is VALID [2022-04-27 11:37:23,064 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24009#true} {24009#true} #117#return; {24009#true} is VALID [2022-04-27 11:37:23,065 INFO L272 TraceCheckUtils]: 4: Hoare triple {24009#true} call #t~ret10 := main(); {24009#true} is VALID [2022-04-27 11:37:23,065 INFO L290 TraceCheckUtils]: 5: Hoare triple {24009#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {24009#true} is VALID [2022-04-27 11:37:23,065 INFO L290 TraceCheckUtils]: 6: Hoare triple {24009#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {24009#true} is VALID [2022-04-27 11:37:23,065 INFO L272 TraceCheckUtils]: 7: Hoare triple {24009#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {24009#true} is VALID [2022-04-27 11:37:23,065 INFO L290 TraceCheckUtils]: 8: Hoare triple {24009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {24045#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:37:23,065 INFO L290 TraceCheckUtils]: 9: Hoare triple {24045#(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; {24045#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:37:23,066 INFO L290 TraceCheckUtils]: 10: Hoare triple {24045#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {24045#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:37:23,066 INFO L290 TraceCheckUtils]: 11: Hoare triple {24045#(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; {24046#(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-27 11:37:23,067 INFO L290 TraceCheckUtils]: 12: Hoare triple {24046#(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; {24047#(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-27 11:37:23,067 INFO L290 TraceCheckUtils]: 13: Hoare triple {24047#(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; {24048#(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-27 11:37:23,068 INFO L290 TraceCheckUtils]: 14: Hoare triple {24048#(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; {24049#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* |correct_version_#in~a| 4)))} is VALID [2022-04-27 11:37:23,068 INFO L290 TraceCheckUtils]: 15: Hoare triple {24049#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* |correct_version_#in~a| 4)))} assume !(~l~0 < ~m); {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:23,068 INFO L290 TraceCheckUtils]: 16: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:23,069 INFO L290 TraceCheckUtils]: 17: Hoare triple {24050#(<= |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; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:23,069 INFO L290 TraceCheckUtils]: 18: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:23,069 INFO L290 TraceCheckUtils]: 19: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} #res := ~y~0; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:23,069 INFO L290 TraceCheckUtils]: 20: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume true; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:23,070 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} {24009#true} #111#return; {24028#(<= main_~m~0 (* main_~a~0 4))} is VALID [2022-04-27 11:37:23,070 INFO L290 TraceCheckUtils]: 22: Hoare triple {24028#(<= main_~m~0 (* main_~a~0 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {24028#(<= main_~m~0 (* main_~a~0 4))} is VALID [2022-04-27 11:37:23,070 INFO L272 TraceCheckUtils]: 23: Hoare triple {24028#(<= main_~m~0 (* main_~a~0 4))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {24009#true} is VALID [2022-04-27 11:37:23,071 INFO L290 TraceCheckUtils]: 24: Hoare triple {24009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {24051#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:37:23,071 INFO L290 TraceCheckUtils]: 25: Hoare triple {24051#(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; {24051#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:37:23,071 INFO L290 TraceCheckUtils]: 26: Hoare triple {24051#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {24051#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:37:23,072 INFO L290 TraceCheckUtils]: 27: Hoare triple {24051#(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; {24052#(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-27 11:37:23,072 INFO L290 TraceCheckUtils]: 28: Hoare triple {24052#(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; {24053#(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-27 11:37:23,073 INFO L290 TraceCheckUtils]: 29: Hoare triple {24053#(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; {24054#(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-27 11:37:23,073 INFO L290 TraceCheckUtils]: 30: Hoare triple {24054#(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; {24055#(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-27 11:37:23,074 INFO L290 TraceCheckUtils]: 31: Hoare triple {24055#(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; {24056#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 4) 1) student_version_~m))} is VALID [2022-04-27 11:37:23,074 INFO L290 TraceCheckUtils]: 32: Hoare triple {24056#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 4) 1) student_version_~m))} assume !(~l~1 < ~m); {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,075 INFO L290 TraceCheckUtils]: 33: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,075 INFO L290 TraceCheckUtils]: 34: Hoare triple {24057#(<= (+ (* |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; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,075 INFO L290 TraceCheckUtils]: 35: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,075 INFO L290 TraceCheckUtils]: 36: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} #res := ~y~1; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,076 INFO L290 TraceCheckUtils]: 37: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume true; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,076 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} {24028#(<= main_~m~0 (* main_~a~0 4))} #113#return; {24010#false} is VALID [2022-04-27 11:37:23,076 INFO L290 TraceCheckUtils]: 39: Hoare triple {24010#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {24010#false} is VALID [2022-04-27 11:37:23,076 INFO L272 TraceCheckUtils]: 40: Hoare triple {24010#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {24010#false} is VALID [2022-04-27 11:37:23,076 INFO L290 TraceCheckUtils]: 41: Hoare triple {24010#false} ~cond := #in~cond; {24010#false} is VALID [2022-04-27 11:37:23,077 INFO L290 TraceCheckUtils]: 42: Hoare triple {24010#false} assume 0 == ~cond; {24010#false} is VALID [2022-04-27 11:37:23,077 INFO L290 TraceCheckUtils]: 43: Hoare triple {24010#false} assume !false; {24010#false} is VALID [2022-04-27 11:37:23,077 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-27 11:37:23,077 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:37:23,077 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1797911561] [2022-04-27 11:37:23,077 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1797911561] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:37:23,077 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [308057741] [2022-04-27 11:37:23,077 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 11:37:23,077 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:23,077 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:37:23,078 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-27 11:37:23,080 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-27 11:37:23,138 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2022-04-27 11:37:23,138 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:37:23,139 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-27 11:37:23,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:23,150 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:37:23,947 INFO L272 TraceCheckUtils]: 0: Hoare triple {24009#true} call ULTIMATE.init(); {24009#true} is VALID [2022-04-27 11:37:23,947 INFO L290 TraceCheckUtils]: 1: Hoare triple {24009#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {24009#true} is VALID [2022-04-27 11:37:23,947 INFO L290 TraceCheckUtils]: 2: Hoare triple {24009#true} assume true; {24009#true} is VALID [2022-04-27 11:37:23,947 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24009#true} {24009#true} #117#return; {24009#true} is VALID [2022-04-27 11:37:23,947 INFO L272 TraceCheckUtils]: 4: Hoare triple {24009#true} call #t~ret10 := main(); {24009#true} is VALID [2022-04-27 11:37:23,947 INFO L290 TraceCheckUtils]: 5: Hoare triple {24009#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {24009#true} is VALID [2022-04-27 11:37:23,947 INFO L290 TraceCheckUtils]: 6: Hoare triple {24009#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {24009#true} is VALID [2022-04-27 11:37:23,947 INFO L272 TraceCheckUtils]: 7: Hoare triple {24009#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {24009#true} is VALID [2022-04-27 11:37:23,948 INFO L290 TraceCheckUtils]: 8: Hoare triple {24009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {24085#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:37:23,948 INFO L290 TraceCheckUtils]: 9: Hoare triple {24085#(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; {24085#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:37:23,948 INFO L290 TraceCheckUtils]: 10: Hoare triple {24085#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {24085#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:37:23,949 INFO L290 TraceCheckUtils]: 11: Hoare triple {24085#(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; {24095#(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-27 11:37:23,949 INFO L290 TraceCheckUtils]: 12: Hoare triple {24095#(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; {24099#(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-27 11:37:23,950 INFO L290 TraceCheckUtils]: 13: Hoare triple {24099#(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; {24103#(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-27 11:37:23,950 INFO L290 TraceCheckUtils]: 14: Hoare triple {24103#(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; {24107#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 4)) |correct_version_#in~a|))} is VALID [2022-04-27 11:37:23,951 INFO L290 TraceCheckUtils]: 15: Hoare triple {24107#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 4)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:23,951 INFO L290 TraceCheckUtils]: 16: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:23,951 INFO L290 TraceCheckUtils]: 17: Hoare triple {24050#(<= |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; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:23,951 INFO L290 TraceCheckUtils]: 18: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:23,952 INFO L290 TraceCheckUtils]: 19: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} #res := ~y~0; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:23,952 INFO L290 TraceCheckUtils]: 20: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume true; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:23,952 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} {24009#true} #111#return; {24028#(<= main_~m~0 (* main_~a~0 4))} is VALID [2022-04-27 11:37:23,953 INFO L290 TraceCheckUtils]: 22: Hoare triple {24028#(<= main_~m~0 (* main_~a~0 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {24028#(<= main_~m~0 (* main_~a~0 4))} is VALID [2022-04-27 11:37:23,953 INFO L272 TraceCheckUtils]: 23: Hoare triple {24028#(<= main_~m~0 (* main_~a~0 4))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {24009#true} is VALID [2022-04-27 11:37:23,953 INFO L290 TraceCheckUtils]: 24: Hoare triple {24009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {24138#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:37:23,953 INFO L290 TraceCheckUtils]: 25: Hoare triple {24138#(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; {24138#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:37:23,954 INFO L290 TraceCheckUtils]: 26: Hoare triple {24138#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {24138#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:37:23,954 INFO L290 TraceCheckUtils]: 27: Hoare triple {24138#(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; {24148#(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-27 11:37:23,954 INFO L290 TraceCheckUtils]: 28: Hoare triple {24148#(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; {24152#(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-27 11:37:23,955 INFO L290 TraceCheckUtils]: 29: Hoare triple {24152#(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; {24156#(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-27 11:37:23,955 INFO L290 TraceCheckUtils]: 30: Hoare triple {24156#(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; {24160#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 4)))} is VALID [2022-04-27 11:37:23,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {24160#(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; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,956 INFO L290 TraceCheckUtils]: 32: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,956 INFO L290 TraceCheckUtils]: 33: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,956 INFO L290 TraceCheckUtils]: 34: Hoare triple {24057#(<= (+ (* |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; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,957 INFO L290 TraceCheckUtils]: 35: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,957 INFO L290 TraceCheckUtils]: 36: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} #res := ~y~1; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,957 INFO L290 TraceCheckUtils]: 37: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume true; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:23,958 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} {24028#(<= main_~m~0 (* main_~a~0 4))} #113#return; {24010#false} is VALID [2022-04-27 11:37:23,958 INFO L290 TraceCheckUtils]: 39: Hoare triple {24010#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {24010#false} is VALID [2022-04-27 11:37:23,958 INFO L272 TraceCheckUtils]: 40: Hoare triple {24010#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {24010#false} is VALID [2022-04-27 11:37:23,958 INFO L290 TraceCheckUtils]: 41: Hoare triple {24010#false} ~cond := #in~cond; {24010#false} is VALID [2022-04-27 11:37:23,958 INFO L290 TraceCheckUtils]: 42: Hoare triple {24010#false} assume 0 == ~cond; {24010#false} is VALID [2022-04-27 11:37:23,958 INFO L290 TraceCheckUtils]: 43: Hoare triple {24010#false} assume !false; {24010#false} is VALID [2022-04-27 11:37:23,958 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-27 11:37:23,958 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:37:25,226 INFO L290 TraceCheckUtils]: 43: Hoare triple {24010#false} assume !false; {24010#false} is VALID [2022-04-27 11:37:25,226 INFO L290 TraceCheckUtils]: 42: Hoare triple {24010#false} assume 0 == ~cond; {24010#false} is VALID [2022-04-27 11:37:25,226 INFO L290 TraceCheckUtils]: 41: Hoare triple {24010#false} ~cond := #in~cond; {24010#false} is VALID [2022-04-27 11:37:25,226 INFO L272 TraceCheckUtils]: 40: Hoare triple {24010#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {24010#false} is VALID [2022-04-27 11:37:25,226 INFO L290 TraceCheckUtils]: 39: Hoare triple {24010#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {24010#false} is VALID [2022-04-27 11:37:25,227 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} {24028#(<= main_~m~0 (* main_~a~0 4))} #113#return; {24010#false} is VALID [2022-04-27 11:37:25,227 INFO L290 TraceCheckUtils]: 37: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume true; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:25,227 INFO L290 TraceCheckUtils]: 36: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} #res := ~y~1; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:25,228 INFO L290 TraceCheckUtils]: 35: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:25,228 INFO L290 TraceCheckUtils]: 34: Hoare triple {24057#(<= (+ (* |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; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:25,228 INFO L290 TraceCheckUtils]: 33: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:25,228 INFO L290 TraceCheckUtils]: 32: Hoare triple {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:25,229 INFO L290 TraceCheckUtils]: 31: Hoare triple {24239#(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; {24057#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:25,229 INFO L290 TraceCheckUtils]: 30: Hoare triple {24243#(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; {24239#(or (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-27 11:37:25,230 INFO L290 TraceCheckUtils]: 29: Hoare triple {24247#(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; {24243#(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-27 11:37:25,230 INFO L290 TraceCheckUtils]: 28: Hoare triple {24251#(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; {24247#(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-27 11:37:25,231 INFO L290 TraceCheckUtils]: 27: Hoare triple {24255#(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; {24251#(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-27 11:37:25,231 INFO L290 TraceCheckUtils]: 26: Hoare triple {24255#(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); {24255#(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-27 11:37:25,232 INFO L290 TraceCheckUtils]: 25: Hoare triple {24255#(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; {24255#(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-27 11:37:25,232 INFO L290 TraceCheckUtils]: 24: Hoare triple {24009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {24255#(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-27 11:37:25,232 INFO L272 TraceCheckUtils]: 23: Hoare triple {24028#(<= main_~m~0 (* main_~a~0 4))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {24009#true} is VALID [2022-04-27 11:37:25,233 INFO L290 TraceCheckUtils]: 22: Hoare triple {24028#(<= main_~m~0 (* main_~a~0 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {24028#(<= main_~m~0 (* main_~a~0 4))} is VALID [2022-04-27 11:37:25,233 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} {24009#true} #111#return; {24028#(<= main_~m~0 (* main_~a~0 4))} is VALID [2022-04-27 11:37:25,234 INFO L290 TraceCheckUtils]: 20: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume true; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:25,234 INFO L290 TraceCheckUtils]: 19: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} #res := ~y~0; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:25,234 INFO L290 TraceCheckUtils]: 18: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:25,234 INFO L290 TraceCheckUtils]: 17: Hoare triple {24050#(<= |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; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:25,235 INFO L290 TraceCheckUtils]: 16: Hoare triple {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:25,235 INFO L290 TraceCheckUtils]: 15: Hoare triple {24292#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)))} assume !(~l~0 < ~m); {24050#(<= |correct_version_#in~m| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:37:25,235 INFO L290 TraceCheckUtils]: 14: Hoare triple {24296#(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; {24292#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)))} is VALID [2022-04-27 11:37:25,236 INFO L290 TraceCheckUtils]: 13: Hoare triple {24300#(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; {24296#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 4)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-27 11:37:25,236 INFO L290 TraceCheckUtils]: 12: Hoare triple {24304#(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; {24300#(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-27 11:37:25,237 INFO L290 TraceCheckUtils]: 11: Hoare triple {24308#(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; {24304#(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-27 11:37:25,237 INFO L290 TraceCheckUtils]: 10: Hoare triple {24308#(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); {24308#(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-27 11:37:25,238 INFO L290 TraceCheckUtils]: 9: Hoare triple {24308#(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; {24308#(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-27 11:37:25,238 INFO L290 TraceCheckUtils]: 8: Hoare triple {24009#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {24308#(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-27 11:37:25,238 INFO L272 TraceCheckUtils]: 7: Hoare triple {24009#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {24009#true} is VALID [2022-04-27 11:37:25,238 INFO L290 TraceCheckUtils]: 6: Hoare triple {24009#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {24009#true} is VALID [2022-04-27 11:37:25,238 INFO L290 TraceCheckUtils]: 5: Hoare triple {24009#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {24009#true} is VALID [2022-04-27 11:37:25,238 INFO L272 TraceCheckUtils]: 4: Hoare triple {24009#true} call #t~ret10 := main(); {24009#true} is VALID [2022-04-27 11:37:25,238 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24009#true} {24009#true} #117#return; {24009#true} is VALID [2022-04-27 11:37:25,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {24009#true} assume true; {24009#true} is VALID [2022-04-27 11:37:25,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {24009#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {24009#true} is VALID [2022-04-27 11:37:25,239 INFO L272 TraceCheckUtils]: 0: Hoare triple {24009#true} call ULTIMATE.init(); {24009#true} is VALID [2022-04-27 11:37:25,239 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-27 11:37:25,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [308057741] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:37:25,239 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:37:25,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 15, 15] total 37 [2022-04-27 11:37:25,239 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [123353951] [2022-04-27 11:37:25,239 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:37:25,240 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 37 states have (on average 1.8918918918918919) internal successors, (70), 36 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 44 [2022-04-27 11:37:25,254 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:37:25,254 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 37 states, 37 states have (on average 1.8918918918918919) internal successors, (70), 36 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:25,302 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-27 11:37:25,303 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 37 states [2022-04-27 11:37:25,303 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:37:25,303 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-04-27 11:37:25,303 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=117, Invalid=1215, Unknown=0, NotChecked=0, Total=1332 [2022-04-27 11:37:25,303 INFO L87 Difference]: Start difference. First operand 200 states and 236 transitions. Second operand has 37 states, 37 states have (on average 1.8918918918918919) internal successors, (70), 36 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:28,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:28,509 INFO L93 Difference]: Finished difference Result 244 states and 289 transitions. [2022-04-27 11:37:28,509 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-27 11:37:28,510 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 37 states have (on average 1.8918918918918919) internal successors, (70), 36 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 44 [2022-04-27 11:37:28,510 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:37:28,510 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 37 states have (on average 1.8918918918918919) internal successors, (70), 36 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:28,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 114 transitions. [2022-04-27 11:37:28,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 37 states have (on average 1.8918918918918919) internal successors, (70), 36 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:28,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 114 transitions. [2022-04-27 11:37:28,512 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 114 transitions. [2022-04-27 11:37:28,592 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-27 11:37:28,596 INFO L225 Difference]: With dead ends: 244 [2022-04-27 11:37:28,596 INFO L226 Difference]: Without dead ends: 230 [2022-04-27 11:37:28,598 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 55 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 407 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=300, Invalid=2892, Unknown=0, NotChecked=0, Total=3192 [2022-04-27 11:37:28,598 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 350 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 1874 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 355 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 1923 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 1874 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:37:28,598 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [355 Valid, 181 Invalid, 1923 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 1874 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-27 11:37:28,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-27 11:37:29,065 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 221. [2022-04-27 11:37:29,065 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:37:29,066 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-27 11:37:29,066 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-27 11:37:29,066 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-27 11:37:29,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:29,070 INFO L93 Difference]: Finished difference Result 230 states and 272 transitions. [2022-04-27 11:37:29,070 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 272 transitions. [2022-04-27 11:37:29,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:29,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:29,071 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-27 11:37:29,071 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-27 11:37:29,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:29,074 INFO L93 Difference]: Finished difference Result 230 states and 272 transitions. [2022-04-27 11:37:29,074 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 272 transitions. [2022-04-27 11:37:29,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:29,074 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:29,074 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:37:29,075 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:37:29,075 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-27 11:37:29,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 221 states to 221 states and 262 transitions. [2022-04-27 11:37:29,078 INFO L78 Accepts]: Start accepts. Automaton has 221 states and 262 transitions. Word has length 44 [2022-04-27 11:37:29,078 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:37:29,078 INFO L495 AbstractCegarLoop]: Abstraction has 221 states and 262 transitions. [2022-04-27 11:37:29,078 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 37 states, 37 states have (on average 1.8918918918918919) internal successors, (70), 36 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:29,078 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 262 transitions. [2022-04-27 11:37:29,079 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-27 11:37:29,079 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:37:29,079 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:37:29,096 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-27 11:37:29,295 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable32,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:29,296 INFO L420 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:37:29,296 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:37:29,296 INFO L85 PathProgramCache]: Analyzing trace with hash 1915733740, now seen corresponding path program 24 times [2022-04-27 11:37:29,296 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:37:29,296 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2144625343] [2022-04-27 11:37:29,296 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:37:29,296 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:37:29,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:29,325 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:37:29,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:29,327 INFO L290 TraceCheckUtils]: 0: Hoare triple {25517#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {25482#true} is VALID [2022-04-27 11:37:29,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {25482#true} assume true; {25482#true} is VALID [2022-04-27 11:37:29,327 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {25482#true} {25482#true} #117#return; {25482#true} is VALID [2022-04-27 11:37:29,328 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:37:29,331 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:29,417 INFO L290 TraceCheckUtils]: 0: Hoare triple {25482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {25518#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:37:29,418 INFO L290 TraceCheckUtils]: 1: Hoare triple {25518#(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; {25518#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:37:29,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {25518#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {25518#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:37:29,419 INFO L290 TraceCheckUtils]: 3: Hoare triple {25518#(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; {25519#(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-27 11:37:29,419 INFO L290 TraceCheckUtils]: 4: Hoare triple {25519#(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; {25520#(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-27 11:37:29,420 INFO L290 TraceCheckUtils]: 5: Hoare triple {25520#(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; {25521#(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-27 11:37:29,420 INFO L290 TraceCheckUtils]: 6: Hoare triple {25521#(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; {25522#(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-27 11:37:29,420 INFO L290 TraceCheckUtils]: 7: Hoare triple {25522#(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; {25523#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* |correct_version_#in~a| 4) 1) correct_version_~m))} is VALID [2022-04-27 11:37:29,421 INFO L290 TraceCheckUtils]: 8: Hoare triple {25523#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* |correct_version_#in~a| 4) 1) correct_version_~m))} assume !(~l~0 < ~m); {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:29,421 INFO L290 TraceCheckUtils]: 9: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:29,421 INFO L290 TraceCheckUtils]: 10: Hoare triple {25524#(<= (+ (* |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; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:29,421 INFO L290 TraceCheckUtils]: 11: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:29,422 INFO L290 TraceCheckUtils]: 12: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} #res := ~y~0; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:29,422 INFO L290 TraceCheckUtils]: 13: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume true; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:29,422 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} {25482#true} #111#return; {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} is VALID [2022-04-27 11:37:29,422 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 11:37:29,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:29,527 INFO L290 TraceCheckUtils]: 0: Hoare triple {25482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {25525#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:37:29,528 INFO L290 TraceCheckUtils]: 1: Hoare triple {25525#(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; {25525#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:37:29,528 INFO L290 TraceCheckUtils]: 2: Hoare triple {25525#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {25525#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:37:29,529 INFO L290 TraceCheckUtils]: 3: Hoare triple {25525#(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; {25526#(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-27 11:37:29,529 INFO L290 TraceCheckUtils]: 4: Hoare triple {25526#(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; {25527#(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-27 11:37:29,530 INFO L290 TraceCheckUtils]: 5: Hoare triple {25527#(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; {25528#(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-27 11:37:29,531 INFO L290 TraceCheckUtils]: 6: Hoare triple {25528#(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; {25529#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 4)))} is VALID [2022-04-27 11:37:29,531 INFO L290 TraceCheckUtils]: 7: Hoare triple {25529#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 4)))} assume !(~l~1 < ~m); {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:29,531 INFO L290 TraceCheckUtils]: 8: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:29,532 INFO L290 TraceCheckUtils]: 9: Hoare triple {25530#(<= |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; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:29,532 INFO L290 TraceCheckUtils]: 10: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:29,532 INFO L290 TraceCheckUtils]: 11: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} #res := ~y~1; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:29,532 INFO L290 TraceCheckUtils]: 12: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume true; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:29,533 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} #113#return; {25483#false} is VALID [2022-04-27 11:37:29,534 INFO L272 TraceCheckUtils]: 0: Hoare triple {25482#true} call ULTIMATE.init(); {25517#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:37:29,534 INFO L290 TraceCheckUtils]: 1: Hoare triple {25517#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {25482#true} is VALID [2022-04-27 11:37:29,534 INFO L290 TraceCheckUtils]: 2: Hoare triple {25482#true} assume true; {25482#true} is VALID [2022-04-27 11:37:29,534 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25482#true} {25482#true} #117#return; {25482#true} is VALID [2022-04-27 11:37:29,534 INFO L272 TraceCheckUtils]: 4: Hoare triple {25482#true} call #t~ret10 := main(); {25482#true} is VALID [2022-04-27 11:37:29,534 INFO L290 TraceCheckUtils]: 5: Hoare triple {25482#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {25482#true} is VALID [2022-04-27 11:37:29,534 INFO L290 TraceCheckUtils]: 6: Hoare triple {25482#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {25482#true} is VALID [2022-04-27 11:37:29,534 INFO L272 TraceCheckUtils]: 7: Hoare triple {25482#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {25482#true} is VALID [2022-04-27 11:37:29,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {25482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {25518#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:37:29,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {25518#(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; {25518#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:37:29,535 INFO L290 TraceCheckUtils]: 10: Hoare triple {25518#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {25518#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:37:29,536 INFO L290 TraceCheckUtils]: 11: Hoare triple {25518#(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; {25519#(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-27 11:37:29,536 INFO L290 TraceCheckUtils]: 12: Hoare triple {25519#(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; {25520#(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-27 11:37:29,537 INFO L290 TraceCheckUtils]: 13: Hoare triple {25520#(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; {25521#(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-27 11:37:29,537 INFO L290 TraceCheckUtils]: 14: Hoare triple {25521#(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; {25522#(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-27 11:37:29,538 INFO L290 TraceCheckUtils]: 15: Hoare triple {25522#(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; {25523#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* |correct_version_#in~a| 4) 1) correct_version_~m))} is VALID [2022-04-27 11:37:29,538 INFO L290 TraceCheckUtils]: 16: Hoare triple {25523#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* |correct_version_#in~a| 4) 1) correct_version_~m))} assume !(~l~0 < ~m); {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:29,539 INFO L290 TraceCheckUtils]: 17: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:29,539 INFO L290 TraceCheckUtils]: 18: Hoare triple {25524#(<= (+ (* |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; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:29,539 INFO L290 TraceCheckUtils]: 19: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:29,540 INFO L290 TraceCheckUtils]: 20: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} #res := ~y~0; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:29,540 INFO L290 TraceCheckUtils]: 21: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume true; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:29,540 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} {25482#true} #111#return; {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} is VALID [2022-04-27 11:37:29,541 INFO L290 TraceCheckUtils]: 23: Hoare triple {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} is VALID [2022-04-27 11:37:29,541 INFO L272 TraceCheckUtils]: 24: Hoare triple {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {25482#true} is VALID [2022-04-27 11:37:29,541 INFO L290 TraceCheckUtils]: 25: Hoare triple {25482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {25525#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:37:29,542 INFO L290 TraceCheckUtils]: 26: Hoare triple {25525#(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; {25525#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:37:29,542 INFO L290 TraceCheckUtils]: 27: Hoare triple {25525#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {25525#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:37:29,542 INFO L290 TraceCheckUtils]: 28: Hoare triple {25525#(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; {25526#(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-27 11:37:29,543 INFO L290 TraceCheckUtils]: 29: Hoare triple {25526#(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; {25527#(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-27 11:37:29,543 INFO L290 TraceCheckUtils]: 30: Hoare triple {25527#(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; {25528#(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-27 11:37:29,544 INFO L290 TraceCheckUtils]: 31: Hoare triple {25528#(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; {25529#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 4)))} is VALID [2022-04-27 11:37:29,544 INFO L290 TraceCheckUtils]: 32: Hoare triple {25529#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 4)))} assume !(~l~1 < ~m); {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:29,545 INFO L290 TraceCheckUtils]: 33: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:29,545 INFO L290 TraceCheckUtils]: 34: Hoare triple {25530#(<= |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; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:29,545 INFO L290 TraceCheckUtils]: 35: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:29,545 INFO L290 TraceCheckUtils]: 36: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} #res := ~y~1; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:29,546 INFO L290 TraceCheckUtils]: 37: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume true; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:29,546 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} #113#return; {25483#false} is VALID [2022-04-27 11:37:29,547 INFO L290 TraceCheckUtils]: 39: Hoare triple {25483#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {25483#false} is VALID [2022-04-27 11:37:29,547 INFO L272 TraceCheckUtils]: 40: Hoare triple {25483#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {25483#false} is VALID [2022-04-27 11:37:29,547 INFO L290 TraceCheckUtils]: 41: Hoare triple {25483#false} ~cond := #in~cond; {25483#false} is VALID [2022-04-27 11:37:29,547 INFO L290 TraceCheckUtils]: 42: Hoare triple {25483#false} assume 0 == ~cond; {25483#false} is VALID [2022-04-27 11:37:29,547 INFO L290 TraceCheckUtils]: 43: Hoare triple {25483#false} assume !false; {25483#false} is VALID [2022-04-27 11:37:29,547 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-27 11:37:29,547 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:37:29,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2144625343] [2022-04-27 11:37:29,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2144625343] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:37:29,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2132468464] [2022-04-27 11:37:29,547 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-27 11:37:29,547 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:29,548 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:37:29,564 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-27 11:37:29,565 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-27 11:37:29,620 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-27 11:37:29,620 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:37:29,621 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-27 11:37:29,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:29,633 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:37:30,408 INFO L272 TraceCheckUtils]: 0: Hoare triple {25482#true} call ULTIMATE.init(); {25482#true} is VALID [2022-04-27 11:37:30,408 INFO L290 TraceCheckUtils]: 1: Hoare triple {25482#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {25482#true} is VALID [2022-04-27 11:37:30,408 INFO L290 TraceCheckUtils]: 2: Hoare triple {25482#true} assume true; {25482#true} is VALID [2022-04-27 11:37:30,408 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25482#true} {25482#true} #117#return; {25482#true} is VALID [2022-04-27 11:37:30,408 INFO L272 TraceCheckUtils]: 4: Hoare triple {25482#true} call #t~ret10 := main(); {25482#true} is VALID [2022-04-27 11:37:30,408 INFO L290 TraceCheckUtils]: 5: Hoare triple {25482#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {25482#true} is VALID [2022-04-27 11:37:30,408 INFO L290 TraceCheckUtils]: 6: Hoare triple {25482#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {25482#true} is VALID [2022-04-27 11:37:30,408 INFO L272 TraceCheckUtils]: 7: Hoare triple {25482#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {25482#true} is VALID [2022-04-27 11:37:30,409 INFO L290 TraceCheckUtils]: 8: Hoare triple {25482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {25558#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:37:30,409 INFO L290 TraceCheckUtils]: 9: Hoare triple {25558#(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; {25558#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:37:30,409 INFO L290 TraceCheckUtils]: 10: Hoare triple {25558#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {25558#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:37:30,410 INFO L290 TraceCheckUtils]: 11: Hoare triple {25558#(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; {25568#(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-27 11:37:30,410 INFO L290 TraceCheckUtils]: 12: Hoare triple {25568#(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; {25572#(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-27 11:37:30,410 INFO L290 TraceCheckUtils]: 13: Hoare triple {25572#(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; {25576#(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-27 11:37:30,411 INFO L290 TraceCheckUtils]: 14: Hoare triple {25576#(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; {25580#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 4)))} is VALID [2022-04-27 11:37:30,411 INFO L290 TraceCheckUtils]: 15: Hoare triple {25580#(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; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:30,411 INFO L290 TraceCheckUtils]: 16: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:30,412 INFO L290 TraceCheckUtils]: 17: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:30,412 INFO L290 TraceCheckUtils]: 18: Hoare triple {25524#(<= (+ (* |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; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:30,412 INFO L290 TraceCheckUtils]: 19: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:30,412 INFO L290 TraceCheckUtils]: 20: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} #res := ~y~0; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:30,412 INFO L290 TraceCheckUtils]: 21: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume true; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:30,413 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} {25482#true} #111#return; {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} is VALID [2022-04-27 11:37:30,413 INFO L290 TraceCheckUtils]: 23: Hoare triple {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} is VALID [2022-04-27 11:37:30,413 INFO L272 TraceCheckUtils]: 24: Hoare triple {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {25482#true} is VALID [2022-04-27 11:37:30,413 INFO L290 TraceCheckUtils]: 25: Hoare triple {25482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {25614#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:37:30,413 INFO L290 TraceCheckUtils]: 26: Hoare triple {25614#(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; {25614#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:37:30,414 INFO L290 TraceCheckUtils]: 27: Hoare triple {25614#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {25614#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:37:30,414 INFO L290 TraceCheckUtils]: 28: Hoare triple {25614#(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; {25624#(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-27 11:37:30,415 INFO L290 TraceCheckUtils]: 29: Hoare triple {25624#(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; {25628#(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-27 11:37:30,415 INFO L290 TraceCheckUtils]: 30: Hoare triple {25628#(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; {25632#(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-27 11:37:30,415 INFO L290 TraceCheckUtils]: 31: Hoare triple {25632#(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; {25636#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 4)) |student_version_#in~a|))} is VALID [2022-04-27 11:37:30,416 INFO L290 TraceCheckUtils]: 32: Hoare triple {25636#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 4)) |student_version_#in~a|))} assume !(~l~1 < ~m); {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:30,416 INFO L290 TraceCheckUtils]: 33: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:30,416 INFO L290 TraceCheckUtils]: 34: Hoare triple {25530#(<= |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; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:30,416 INFO L290 TraceCheckUtils]: 35: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:30,416 INFO L290 TraceCheckUtils]: 36: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} #res := ~y~1; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:30,417 INFO L290 TraceCheckUtils]: 37: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume true; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:30,417 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} #113#return; {25483#false} is VALID [2022-04-27 11:37:30,417 INFO L290 TraceCheckUtils]: 39: Hoare triple {25483#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {25483#false} is VALID [2022-04-27 11:37:30,417 INFO L272 TraceCheckUtils]: 40: Hoare triple {25483#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {25483#false} is VALID [2022-04-27 11:37:30,417 INFO L290 TraceCheckUtils]: 41: Hoare triple {25483#false} ~cond := #in~cond; {25483#false} is VALID [2022-04-27 11:37:30,417 INFO L290 TraceCheckUtils]: 42: Hoare triple {25483#false} assume 0 == ~cond; {25483#false} is VALID [2022-04-27 11:37:30,417 INFO L290 TraceCheckUtils]: 43: Hoare triple {25483#false} assume !false; {25483#false} is VALID [2022-04-27 11:37:30,418 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-27 11:37:30,418 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:37:31,244 INFO L290 TraceCheckUtils]: 43: Hoare triple {25483#false} assume !false; {25483#false} is VALID [2022-04-27 11:37:31,244 INFO L290 TraceCheckUtils]: 42: Hoare triple {25483#false} assume 0 == ~cond; {25483#false} is VALID [2022-04-27 11:37:31,244 INFO L290 TraceCheckUtils]: 41: Hoare triple {25483#false} ~cond := #in~cond; {25483#false} is VALID [2022-04-27 11:37:31,244 INFO L272 TraceCheckUtils]: 40: Hoare triple {25483#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {25483#false} is VALID [2022-04-27 11:37:31,244 INFO L290 TraceCheckUtils]: 39: Hoare triple {25483#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {25483#false} is VALID [2022-04-27 11:37:31,245 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} #113#return; {25483#false} is VALID [2022-04-27 11:37:31,245 INFO L290 TraceCheckUtils]: 37: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume true; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:31,245 INFO L290 TraceCheckUtils]: 36: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} #res := ~y~1; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:31,245 INFO L290 TraceCheckUtils]: 35: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:31,245 INFO L290 TraceCheckUtils]: 34: Hoare triple {25530#(<= |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; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:31,245 INFO L290 TraceCheckUtils]: 33: Hoare triple {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:31,246 INFO L290 TraceCheckUtils]: 32: Hoare triple {25709#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {25530#(<= |student_version_#in~m| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:37:31,246 INFO L290 TraceCheckUtils]: 31: Hoare triple {25713#(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; {25709#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-27 11:37:31,246 INFO L290 TraceCheckUtils]: 30: Hoare triple {25717#(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; {25713#(or (<= |student_version_#in~m| (* |student_version_#in~a| 4)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} is VALID [2022-04-27 11:37:31,247 INFO L290 TraceCheckUtils]: 29: Hoare triple {25721#(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; {25717#(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-27 11:37:31,247 INFO L290 TraceCheckUtils]: 28: Hoare triple {25725#(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; {25721#(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-27 11:37:31,248 INFO L290 TraceCheckUtils]: 27: Hoare triple {25725#(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); {25725#(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-27 11:37:31,248 INFO L290 TraceCheckUtils]: 26: Hoare triple {25725#(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; {25725#(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-27 11:37:31,248 INFO L290 TraceCheckUtils]: 25: Hoare triple {25482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {25725#(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-27 11:37:31,248 INFO L272 TraceCheckUtils]: 24: Hoare triple {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {25482#true} is VALID [2022-04-27 11:37:31,248 INFO L290 TraceCheckUtils]: 23: Hoare triple {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} is VALID [2022-04-27 11:37:31,249 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} {25482#true} #111#return; {25502#(<= (+ (* main_~a~0 4) 1) main_~m~0)} is VALID [2022-04-27 11:37:31,251 INFO L290 TraceCheckUtils]: 21: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume true; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:31,251 INFO L290 TraceCheckUtils]: 20: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} #res := ~y~0; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:31,251 INFO L290 TraceCheckUtils]: 19: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:31,251 INFO L290 TraceCheckUtils]: 18: Hoare triple {25524#(<= (+ (* |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; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:31,251 INFO L290 TraceCheckUtils]: 17: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:31,252 INFO L290 TraceCheckUtils]: 16: Hoare triple {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:31,252 INFO L290 TraceCheckUtils]: 15: Hoare triple {25765#(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; {25524#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:37:31,252 INFO L290 TraceCheckUtils]: 14: Hoare triple {25769#(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; {25765#(or (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-27 11:37:31,253 INFO L290 TraceCheckUtils]: 13: Hoare triple {25773#(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; {25769#(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-27 11:37:31,253 INFO L290 TraceCheckUtils]: 12: Hoare triple {25777#(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; {25773#(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-27 11:37:31,253 INFO L290 TraceCheckUtils]: 11: Hoare triple {25781#(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; {25777#(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-27 11:37:31,254 INFO L290 TraceCheckUtils]: 10: Hoare triple {25781#(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); {25781#(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-27 11:37:31,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {25781#(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; {25781#(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-27 11:37:31,254 INFO L290 TraceCheckUtils]: 8: Hoare triple {25482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {25781#(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-27 11:37:31,254 INFO L272 TraceCheckUtils]: 7: Hoare triple {25482#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {25482#true} is VALID [2022-04-27 11:37:31,255 INFO L290 TraceCheckUtils]: 6: Hoare triple {25482#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {25482#true} is VALID [2022-04-27 11:37:31,255 INFO L290 TraceCheckUtils]: 5: Hoare triple {25482#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {25482#true} is VALID [2022-04-27 11:37:31,255 INFO L272 TraceCheckUtils]: 4: Hoare triple {25482#true} call #t~ret10 := main(); {25482#true} is VALID [2022-04-27 11:37:31,255 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25482#true} {25482#true} #117#return; {25482#true} is VALID [2022-04-27 11:37:31,255 INFO L290 TraceCheckUtils]: 2: Hoare triple {25482#true} assume true; {25482#true} is VALID [2022-04-27 11:37:31,255 INFO L290 TraceCheckUtils]: 1: Hoare triple {25482#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {25482#true} is VALID [2022-04-27 11:37:31,255 INFO L272 TraceCheckUtils]: 0: Hoare triple {25482#true} call ULTIMATE.init(); {25482#true} is VALID [2022-04-27 11:37:31,255 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-27 11:37:31,255 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2132468464] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:37:31,255 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:37:31,255 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 15, 15] total 37 [2022-04-27 11:37:31,255 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2101348322] [2022-04-27 11:37:31,256 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:37:31,256 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 37 states have (on average 1.8918918918918919) internal successors, (70), 36 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 44 [2022-04-27 11:37:31,256 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:37:31,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 37 states, 37 states have (on average 1.8918918918918919) internal successors, (70), 36 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:31,288 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-27 11:37:31,288 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 37 states [2022-04-27 11:37:31,289 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:37:31,289 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-04-27 11:37:31,289 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=117, Invalid=1215, Unknown=0, NotChecked=0, Total=1332 [2022-04-27 11:37:31,289 INFO L87 Difference]: Start difference. First operand 221 states and 262 transitions. Second operand has 37 states, 37 states have (on average 1.8918918918918919) internal successors, (70), 36 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:34,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:34,261 INFO L93 Difference]: Finished difference Result 236 states and 277 transitions. [2022-04-27 11:37:34,261 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-27 11:37:34,261 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 37 states have (on average 1.8918918918918919) internal successors, (70), 36 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 44 [2022-04-27 11:37:34,261 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:37:34,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 37 states have (on average 1.8918918918918919) internal successors, (70), 36 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:34,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 113 transitions. [2022-04-27 11:37:34,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 37 states have (on average 1.8918918918918919) internal successors, (70), 36 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:34,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 113 transitions. [2022-04-27 11:37:34,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 113 transitions. [2022-04-27 11:37:34,362 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-27 11:37:34,365 INFO L225 Difference]: With dead ends: 236 [2022-04-27 11:37:34,365 INFO L226 Difference]: Without dead ends: 224 [2022-04-27 11:37:34,367 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 55 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 415 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=300, Invalid=2892, Unknown=0, NotChecked=0, Total=3192 [2022-04-27 11:37:34,367 INFO L413 NwaCegarLoop]: 68 mSDtfsCounter, 379 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 1762 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 388 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 1803 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 41 IncrementalHoareTripleChecker+Valid, 1762 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:37:34,367 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [388 Valid, 170 Invalid, 1803 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 1762 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-27 11:37:34,367 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-27 11:37:35,022 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 222. [2022-04-27 11:37:35,022 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:37:35,023 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-27 11:37:35,023 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-27 11:37:35,024 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-27 11:37:35,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:35,026 INFO L93 Difference]: Finished difference Result 224 states and 263 transitions. [2022-04-27 11:37:35,026 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 263 transitions. [2022-04-27 11:37:35,028 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:35,028 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:35,029 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-27 11:37:35,029 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-27 11:37:35,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:35,032 INFO L93 Difference]: Finished difference Result 224 states and 263 transitions. [2022-04-27 11:37:35,032 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 263 transitions. [2022-04-27 11:37:35,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:35,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:35,032 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:37:35,032 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:37:35,032 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-27 11:37:35,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 261 transitions. [2022-04-27 11:37:35,058 INFO L78 Accepts]: Start accepts. Automaton has 222 states and 261 transitions. Word has length 44 [2022-04-27 11:37:35,058 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:37:35,058 INFO L495 AbstractCegarLoop]: Abstraction has 222 states and 261 transitions. [2022-04-27 11:37:35,058 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 37 states, 37 states have (on average 1.8918918918918919) internal successors, (70), 36 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:35,058 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 261 transitions. [2022-04-27 11:37:35,059 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-27 11:37:35,059 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:37:35,059 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:37:35,095 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-27 11:37:35,284 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable33,25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:35,284 INFO L420 AbstractCegarLoop]: === Iteration 35 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:37:35,284 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:37:35,284 INFO L85 PathProgramCache]: Analyzing trace with hash -1794700818, now seen corresponding path program 25 times [2022-04-27 11:37:35,285 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:37:35,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1962079766] [2022-04-27 11:37:35,285 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:37:35,285 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:37:35,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:35,310 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:37:35,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:35,312 INFO L290 TraceCheckUtils]: 0: Hoare triple {26967#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {26933#true} is VALID [2022-04-27 11:37:35,312 INFO L290 TraceCheckUtils]: 1: Hoare triple {26933#true} assume true; {26933#true} is VALID [2022-04-27 11:37:35,313 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {26933#true} {26933#true} #117#return; {26933#true} is VALID [2022-04-27 11:37:35,313 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:37:35,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:35,354 INFO L290 TraceCheckUtils]: 0: Hoare triple {26933#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {26968#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,355 INFO L290 TraceCheckUtils]: 1: Hoare triple {26968#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26969#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,355 INFO L290 TraceCheckUtils]: 2: Hoare triple {26969#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26970#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,356 INFO L290 TraceCheckUtils]: 3: Hoare triple {26970#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,356 INFO L290 TraceCheckUtils]: 4: Hoare triple {26971#(<= 3 correct_version_~i~0)} assume !(~b~0 < ~n); {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,356 INFO L290 TraceCheckUtils]: 5: Hoare triple {26971#(<= 3 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,357 INFO L290 TraceCheckUtils]: 6: Hoare triple {26971#(<= 3 correct_version_~i~0)} assume !(~l~0 < ~m); {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,357 INFO L290 TraceCheckUtils]: 7: Hoare triple {26971#(<= 3 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {26972#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-27 11:37:35,357 INFO L290 TraceCheckUtils]: 8: Hoare triple {26972#(<= (+ 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; {26973#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-27 11:37:35,358 INFO L290 TraceCheckUtils]: 9: Hoare triple {26973#(<= (+ 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; {26974#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:37:35,359 INFO L290 TraceCheckUtils]: 10: Hoare triple {26974#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {26934#false} is VALID [2022-04-27 11:37:35,359 INFO L290 TraceCheckUtils]: 11: Hoare triple {26934#false} #res := ~y~0; {26934#false} is VALID [2022-04-27 11:37:35,359 INFO L290 TraceCheckUtils]: 12: Hoare triple {26934#false} assume true; {26934#false} is VALID [2022-04-27 11:37:35,359 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {26934#false} {26933#true} #111#return; {26934#false} is VALID [2022-04-27 11:37:35,360 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-27 11:37:35,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:35,366 INFO L290 TraceCheckUtils]: 0: Hoare triple {26933#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {26933#true} is VALID [2022-04-27 11:37:35,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {26933#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26933#true} is VALID [2022-04-27 11:37:35,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {26933#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26933#true} is VALID [2022-04-27 11:37:35,366 INFO L290 TraceCheckUtils]: 3: Hoare triple {26933#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26933#true} is VALID [2022-04-27 11:37:35,366 INFO L290 TraceCheckUtils]: 4: Hoare triple {26933#true} assume !(~b~1 < ~n); {26933#true} is VALID [2022-04-27 11:37:35,366 INFO L290 TraceCheckUtils]: 5: Hoare triple {26933#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {26933#true} is VALID [2022-04-27 11:37:35,366 INFO L290 TraceCheckUtils]: 6: Hoare triple {26933#true} assume !(~l~1 < ~m); {26933#true} is VALID [2022-04-27 11:37:35,366 INFO L290 TraceCheckUtils]: 7: Hoare triple {26933#true} ~x~1 := 0;~y~1 := 0; {26933#true} is VALID [2022-04-27 11:37:35,366 INFO L290 TraceCheckUtils]: 8: Hoare triple {26933#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26933#true} is VALID [2022-04-27 11:37:35,366 INFO L290 TraceCheckUtils]: 9: Hoare triple {26933#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26933#true} is VALID [2022-04-27 11:37:35,366 INFO L290 TraceCheckUtils]: 10: Hoare triple {26933#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26933#true} is VALID [2022-04-27 11:37:35,366 INFO L290 TraceCheckUtils]: 11: Hoare triple {26933#true} assume !(~x~1 < ~i~1); {26933#true} is VALID [2022-04-27 11:37:35,367 INFO L290 TraceCheckUtils]: 12: Hoare triple {26933#true} #res := ~y~1; {26933#true} is VALID [2022-04-27 11:37:35,367 INFO L290 TraceCheckUtils]: 13: Hoare triple {26933#true} assume true; {26933#true} is VALID [2022-04-27 11:37:35,367 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {26933#true} {26934#false} #113#return; {26934#false} is VALID [2022-04-27 11:37:35,367 INFO L272 TraceCheckUtils]: 0: Hoare triple {26933#true} call ULTIMATE.init(); {26967#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:37:35,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {26967#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {26933#true} is VALID [2022-04-27 11:37:35,367 INFO L290 TraceCheckUtils]: 2: Hoare triple {26933#true} assume true; {26933#true} is VALID [2022-04-27 11:37:35,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26933#true} {26933#true} #117#return; {26933#true} is VALID [2022-04-27 11:37:35,367 INFO L272 TraceCheckUtils]: 4: Hoare triple {26933#true} call #t~ret10 := main(); {26933#true} is VALID [2022-04-27 11:37:35,367 INFO L290 TraceCheckUtils]: 5: Hoare triple {26933#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {26933#true} is VALID [2022-04-27 11:37:35,368 INFO L290 TraceCheckUtils]: 6: Hoare triple {26933#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {26933#true} is VALID [2022-04-27 11:37:35,368 INFO L272 TraceCheckUtils]: 7: Hoare triple {26933#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {26933#true} is VALID [2022-04-27 11:37:35,368 INFO L290 TraceCheckUtils]: 8: Hoare triple {26933#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {26968#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,368 INFO L290 TraceCheckUtils]: 9: Hoare triple {26968#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26969#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,369 INFO L290 TraceCheckUtils]: 10: Hoare triple {26969#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26970#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,369 INFO L290 TraceCheckUtils]: 11: Hoare triple {26970#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,369 INFO L290 TraceCheckUtils]: 12: Hoare triple {26971#(<= 3 correct_version_~i~0)} assume !(~b~0 < ~n); {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,370 INFO L290 TraceCheckUtils]: 13: Hoare triple {26971#(<= 3 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,370 INFO L290 TraceCheckUtils]: 14: Hoare triple {26971#(<= 3 correct_version_~i~0)} assume !(~l~0 < ~m); {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,370 INFO L290 TraceCheckUtils]: 15: Hoare triple {26971#(<= 3 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {26972#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-27 11:37:35,370 INFO L290 TraceCheckUtils]: 16: Hoare triple {26972#(<= (+ 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; {26973#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-27 11:37:35,371 INFO L290 TraceCheckUtils]: 17: Hoare triple {26973#(<= (+ 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; {26974#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:37:35,371 INFO L290 TraceCheckUtils]: 18: Hoare triple {26974#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {26934#false} is VALID [2022-04-27 11:37:35,371 INFO L290 TraceCheckUtils]: 19: Hoare triple {26934#false} #res := ~y~0; {26934#false} is VALID [2022-04-27 11:37:35,371 INFO L290 TraceCheckUtils]: 20: Hoare triple {26934#false} assume true; {26934#false} is VALID [2022-04-27 11:37:35,371 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {26934#false} {26933#true} #111#return; {26934#false} is VALID [2022-04-27 11:37:35,371 INFO L290 TraceCheckUtils]: 22: Hoare triple {26934#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {26934#false} is VALID [2022-04-27 11:37:35,371 INFO L272 TraceCheckUtils]: 23: Hoare triple {26934#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {26933#true} is VALID [2022-04-27 11:37:35,371 INFO L290 TraceCheckUtils]: 24: Hoare triple {26933#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {26933#true} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 25: Hoare triple {26933#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26933#true} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 26: Hoare triple {26933#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26933#true} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 27: Hoare triple {26933#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26933#true} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 28: Hoare triple {26933#true} assume !(~b~1 < ~n); {26933#true} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 29: Hoare triple {26933#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {26933#true} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 30: Hoare triple {26933#true} assume !(~l~1 < ~m); {26933#true} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 31: Hoare triple {26933#true} ~x~1 := 0;~y~1 := 0; {26933#true} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 32: Hoare triple {26933#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26933#true} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 33: Hoare triple {26933#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26933#true} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 34: Hoare triple {26933#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26933#true} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 35: Hoare triple {26933#true} assume !(~x~1 < ~i~1); {26933#true} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 36: Hoare triple {26933#true} #res := ~y~1; {26933#true} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 37: Hoare triple {26933#true} assume true; {26933#true} is VALID [2022-04-27 11:37:35,372 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {26933#true} {26934#false} #113#return; {26934#false} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 39: Hoare triple {26934#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {26934#false} is VALID [2022-04-27 11:37:35,372 INFO L272 TraceCheckUtils]: 40: Hoare triple {26934#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {26934#false} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 41: Hoare triple {26934#false} ~cond := #in~cond; {26934#false} is VALID [2022-04-27 11:37:35,372 INFO L290 TraceCheckUtils]: 42: Hoare triple {26934#false} assume 0 == ~cond; {26934#false} is VALID [2022-04-27 11:37:35,373 INFO L290 TraceCheckUtils]: 43: Hoare triple {26934#false} assume !false; {26934#false} is VALID [2022-04-27 11:37:35,373 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-27 11:37:35,373 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:37:35,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1962079766] [2022-04-27 11:37:35,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1962079766] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:37:35,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1878234948] [2022-04-27 11:37:35,373 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-04-27 11:37:35,373 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:35,373 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:37:35,375 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-27 11:37:35,376 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-27 11:37:35,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:35,432 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-27 11:37:35,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:35,440 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:37:35,566 INFO L272 TraceCheckUtils]: 0: Hoare triple {26933#true} call ULTIMATE.init(); {26933#true} is VALID [2022-04-27 11:37:35,566 INFO L290 TraceCheckUtils]: 1: Hoare triple {26933#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {26933#true} is VALID [2022-04-27 11:37:35,566 INFO L290 TraceCheckUtils]: 2: Hoare triple {26933#true} assume true; {26933#true} is VALID [2022-04-27 11:37:35,567 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26933#true} {26933#true} #117#return; {26933#true} is VALID [2022-04-27 11:37:35,567 INFO L272 TraceCheckUtils]: 4: Hoare triple {26933#true} call #t~ret10 := main(); {26933#true} is VALID [2022-04-27 11:37:35,567 INFO L290 TraceCheckUtils]: 5: Hoare triple {26933#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {26933#true} is VALID [2022-04-27 11:37:35,567 INFO L290 TraceCheckUtils]: 6: Hoare triple {26933#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {26933#true} is VALID [2022-04-27 11:37:35,567 INFO L272 TraceCheckUtils]: 7: Hoare triple {26933#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {26933#true} is VALID [2022-04-27 11:37:35,567 INFO L290 TraceCheckUtils]: 8: Hoare triple {26933#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {26968#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,568 INFO L290 TraceCheckUtils]: 9: Hoare triple {26968#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26969#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,568 INFO L290 TraceCheckUtils]: 10: Hoare triple {26969#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26970#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,568 INFO L290 TraceCheckUtils]: 11: Hoare triple {26970#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,569 INFO L290 TraceCheckUtils]: 12: Hoare triple {26971#(<= 3 correct_version_~i~0)} assume !(~b~0 < ~n); {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,569 INFO L290 TraceCheckUtils]: 13: Hoare triple {26971#(<= 3 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,569 INFO L290 TraceCheckUtils]: 14: Hoare triple {26971#(<= 3 correct_version_~i~0)} assume !(~l~0 < ~m); {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,569 INFO L290 TraceCheckUtils]: 15: Hoare triple {26971#(<= 3 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {27023#(and (<= 3 correct_version_~i~0) (<= correct_version_~x~0 0))} is VALID [2022-04-27 11:37:35,570 INFO L290 TraceCheckUtils]: 16: Hoare triple {27023#(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; {27027#(and (<= 3 correct_version_~i~0) (<= correct_version_~x~0 1))} is VALID [2022-04-27 11:37:35,570 INFO L290 TraceCheckUtils]: 17: Hoare triple {27027#(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; {27031#(and (<= correct_version_~x~0 2) (<= 3 correct_version_~i~0))} is VALID [2022-04-27 11:37:35,571 INFO L290 TraceCheckUtils]: 18: Hoare triple {27031#(and (<= correct_version_~x~0 2) (<= 3 correct_version_~i~0))} assume !(~x~0 < ~i~0); {26934#false} is VALID [2022-04-27 11:37:35,571 INFO L290 TraceCheckUtils]: 19: Hoare triple {26934#false} #res := ~y~0; {26934#false} is VALID [2022-04-27 11:37:35,571 INFO L290 TraceCheckUtils]: 20: Hoare triple {26934#false} assume true; {26934#false} is VALID [2022-04-27 11:37:35,571 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {26934#false} {26933#true} #111#return; {26934#false} is VALID [2022-04-27 11:37:35,571 INFO L290 TraceCheckUtils]: 22: Hoare triple {26934#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {26934#false} is VALID [2022-04-27 11:37:35,571 INFO L272 TraceCheckUtils]: 23: Hoare triple {26934#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {26934#false} is VALID [2022-04-27 11:37:35,571 INFO L290 TraceCheckUtils]: 24: Hoare triple {26934#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {26934#false} is VALID [2022-04-27 11:37:35,571 INFO L290 TraceCheckUtils]: 25: Hoare triple {26934#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26934#false} is VALID [2022-04-27 11:37:35,571 INFO L290 TraceCheckUtils]: 26: Hoare triple {26934#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26934#false} is VALID [2022-04-27 11:37:35,571 INFO L290 TraceCheckUtils]: 27: Hoare triple {26934#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26934#false} is VALID [2022-04-27 11:37:35,571 INFO L290 TraceCheckUtils]: 28: Hoare triple {26934#false} assume !(~b~1 < ~n); {26934#false} is VALID [2022-04-27 11:37:35,571 INFO L290 TraceCheckUtils]: 29: Hoare triple {26934#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {26934#false} is VALID [2022-04-27 11:37:35,571 INFO L290 TraceCheckUtils]: 30: Hoare triple {26934#false} assume !(~l~1 < ~m); {26934#false} is VALID [2022-04-27 11:37:35,571 INFO L290 TraceCheckUtils]: 31: Hoare triple {26934#false} ~x~1 := 0;~y~1 := 0; {26934#false} is VALID [2022-04-27 11:37:35,571 INFO L290 TraceCheckUtils]: 32: Hoare triple {26934#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26934#false} is VALID [2022-04-27 11:37:35,572 INFO L290 TraceCheckUtils]: 33: Hoare triple {26934#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26934#false} is VALID [2022-04-27 11:37:35,572 INFO L290 TraceCheckUtils]: 34: Hoare triple {26934#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26934#false} is VALID [2022-04-27 11:37:35,572 INFO L290 TraceCheckUtils]: 35: Hoare triple {26934#false} assume !(~x~1 < ~i~1); {26934#false} is VALID [2022-04-27 11:37:35,572 INFO L290 TraceCheckUtils]: 36: Hoare triple {26934#false} #res := ~y~1; {26934#false} is VALID [2022-04-27 11:37:35,572 INFO L290 TraceCheckUtils]: 37: Hoare triple {26934#false} assume true; {26934#false} is VALID [2022-04-27 11:37:35,572 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {26934#false} {26934#false} #113#return; {26934#false} is VALID [2022-04-27 11:37:35,572 INFO L290 TraceCheckUtils]: 39: Hoare triple {26934#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {26934#false} is VALID [2022-04-27 11:37:35,572 INFO L272 TraceCheckUtils]: 40: Hoare triple {26934#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {26934#false} is VALID [2022-04-27 11:37:35,572 INFO L290 TraceCheckUtils]: 41: Hoare triple {26934#false} ~cond := #in~cond; {26934#false} is VALID [2022-04-27 11:37:35,572 INFO L290 TraceCheckUtils]: 42: Hoare triple {26934#false} assume 0 == ~cond; {26934#false} is VALID [2022-04-27 11:37:35,572 INFO L290 TraceCheckUtils]: 43: Hoare triple {26934#false} assume !false; {26934#false} is VALID [2022-04-27 11:37:35,572 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-27 11:37:35,572 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:37:35,689 INFO L290 TraceCheckUtils]: 43: Hoare triple {26934#false} assume !false; {26934#false} is VALID [2022-04-27 11:37:35,689 INFO L290 TraceCheckUtils]: 42: Hoare triple {26934#false} assume 0 == ~cond; {26934#false} is VALID [2022-04-27 11:37:35,689 INFO L290 TraceCheckUtils]: 41: Hoare triple {26934#false} ~cond := #in~cond; {26934#false} is VALID [2022-04-27 11:37:35,689 INFO L272 TraceCheckUtils]: 40: Hoare triple {26934#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {26934#false} is VALID [2022-04-27 11:37:35,689 INFO L290 TraceCheckUtils]: 39: Hoare triple {26934#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {26934#false} is VALID [2022-04-27 11:37:35,689 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {26933#true} {26934#false} #113#return; {26934#false} is VALID [2022-04-27 11:37:35,689 INFO L290 TraceCheckUtils]: 37: Hoare triple {26933#true} assume true; {26933#true} is VALID [2022-04-27 11:37:35,689 INFO L290 TraceCheckUtils]: 36: Hoare triple {26933#true} #res := ~y~1; {26933#true} is VALID [2022-04-27 11:37:35,690 INFO L290 TraceCheckUtils]: 35: Hoare triple {26933#true} assume !(~x~1 < ~i~1); {26933#true} is VALID [2022-04-27 11:37:35,690 INFO L290 TraceCheckUtils]: 34: Hoare triple {26933#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26933#true} is VALID [2022-04-27 11:37:35,690 INFO L290 TraceCheckUtils]: 33: Hoare triple {26933#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26933#true} is VALID [2022-04-27 11:37:35,690 INFO L290 TraceCheckUtils]: 32: Hoare triple {26933#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {26933#true} is VALID [2022-04-27 11:37:35,690 INFO L290 TraceCheckUtils]: 31: Hoare triple {26933#true} ~x~1 := 0;~y~1 := 0; {26933#true} is VALID [2022-04-27 11:37:35,690 INFO L290 TraceCheckUtils]: 30: Hoare triple {26933#true} assume !(~l~1 < ~m); {26933#true} is VALID [2022-04-27 11:37:35,690 INFO L290 TraceCheckUtils]: 29: Hoare triple {26933#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {26933#true} is VALID [2022-04-27 11:37:35,690 INFO L290 TraceCheckUtils]: 28: Hoare triple {26933#true} assume !(~b~1 < ~n); {26933#true} is VALID [2022-04-27 11:37:35,690 INFO L290 TraceCheckUtils]: 27: Hoare triple {26933#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26933#true} is VALID [2022-04-27 11:37:35,690 INFO L290 TraceCheckUtils]: 26: Hoare triple {26933#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26933#true} is VALID [2022-04-27 11:37:35,690 INFO L290 TraceCheckUtils]: 25: Hoare triple {26933#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {26933#true} is VALID [2022-04-27 11:37:35,690 INFO L290 TraceCheckUtils]: 24: Hoare triple {26933#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {26933#true} is VALID [2022-04-27 11:37:35,690 INFO L272 TraceCheckUtils]: 23: Hoare triple {26934#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {26933#true} is VALID [2022-04-27 11:37:35,690 INFO L290 TraceCheckUtils]: 22: Hoare triple {26934#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {26934#false} is VALID [2022-04-27 11:37:35,690 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {26934#false} {26933#true} #111#return; {26934#false} is VALID [2022-04-27 11:37:35,690 INFO L290 TraceCheckUtils]: 20: Hoare triple {26934#false} assume true; {26934#false} is VALID [2022-04-27 11:37:35,690 INFO L290 TraceCheckUtils]: 19: Hoare triple {26934#false} #res := ~y~0; {26934#false} is VALID [2022-04-27 11:37:35,691 INFO L290 TraceCheckUtils]: 18: Hoare triple {26974#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {26934#false} is VALID [2022-04-27 11:37:35,691 INFO L290 TraceCheckUtils]: 17: Hoare triple {26973#(<= (+ 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; {26974#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:37:35,692 INFO L290 TraceCheckUtils]: 16: Hoare triple {26972#(<= (+ 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; {26973#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-27 11:37:35,692 INFO L290 TraceCheckUtils]: 15: Hoare triple {26971#(<= 3 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {26972#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-27 11:37:35,692 INFO L290 TraceCheckUtils]: 14: Hoare triple {26971#(<= 3 correct_version_~i~0)} assume !(~l~0 < ~m); {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,692 INFO L290 TraceCheckUtils]: 13: Hoare triple {26971#(<= 3 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,693 INFO L290 TraceCheckUtils]: 12: Hoare triple {26971#(<= 3 correct_version_~i~0)} assume !(~b~0 < ~n); {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,693 INFO L290 TraceCheckUtils]: 11: Hoare triple {26970#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26971#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,693 INFO L290 TraceCheckUtils]: 10: Hoare triple {26969#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26970#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,694 INFO L290 TraceCheckUtils]: 9: Hoare triple {26968#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {26969#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {26933#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {26968#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:37:35,694 INFO L272 TraceCheckUtils]: 7: Hoare triple {26933#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {26933#true} is VALID [2022-04-27 11:37:35,694 INFO L290 TraceCheckUtils]: 6: Hoare triple {26933#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {26933#true} is VALID [2022-04-27 11:37:35,694 INFO L290 TraceCheckUtils]: 5: Hoare triple {26933#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {26933#true} is VALID [2022-04-27 11:37:35,694 INFO L272 TraceCheckUtils]: 4: Hoare triple {26933#true} call #t~ret10 := main(); {26933#true} is VALID [2022-04-27 11:37:35,695 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26933#true} {26933#true} #117#return; {26933#true} is VALID [2022-04-27 11:37:35,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {26933#true} assume true; {26933#true} is VALID [2022-04-27 11:37:35,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {26933#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {26933#true} is VALID [2022-04-27 11:37:35,695 INFO L272 TraceCheckUtils]: 0: Hoare triple {26933#true} call ULTIMATE.init(); {26933#true} is VALID [2022-04-27 11:37:35,695 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-27 11:37:35,695 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1878234948] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:37:35,695 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:37:35,695 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 13 [2022-04-27 11:37:35,695 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [502826253] [2022-04-27 11:37:35,695 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:37:35,696 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 3.6153846153846154) internal successors, (47), 12 states have internal predecessors, (47), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 44 [2022-04-27 11:37:35,696 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:37:35,696 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 3.6153846153846154) internal successors, (47), 12 states have internal predecessors, (47), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:35,725 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-27 11:37:35,725 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-27 11:37:35,725 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:37:35,725 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-27 11:37:35,726 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=103, Unknown=0, NotChecked=0, Total=156 [2022-04-27 11:37:35,726 INFO L87 Difference]: Start difference. First operand 222 states and 261 transitions. Second operand has 13 states, 13 states have (on average 3.6153846153846154) internal successors, (47), 12 states have internal predecessors, (47), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:36,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:36,754 INFO L93 Difference]: Finished difference Result 339 states and 391 transitions. [2022-04-27 11:37:36,755 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-27 11:37:36,755 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 3.6153846153846154) internal successors, (47), 12 states have internal predecessors, (47), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 44 [2022-04-27 11:37:36,755 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:37:36,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 3.6153846153846154) internal successors, (47), 12 states have internal predecessors, (47), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:36,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 84 transitions. [2022-04-27 11:37:36,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 3.6153846153846154) internal successors, (47), 12 states have internal predecessors, (47), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:36,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 84 transitions. [2022-04-27 11:37:36,757 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 84 transitions. [2022-04-27 11:37:36,810 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-27 11:37:36,813 INFO L225 Difference]: With dead ends: 339 [2022-04-27 11:37:36,813 INFO L226 Difference]: Without dead ends: 215 [2022-04-27 11:37:36,814 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 75 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=169, Invalid=337, Unknown=0, NotChecked=0, Total=506 [2022-04-27 11:37:36,814 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 69 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 131 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 52 SdHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 131 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:37:36,815 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [71 Valid, 52 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 131 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:37:36,815 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 215 states. [2022-04-27 11:37:37,453 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 215 to 207. [2022-04-27 11:37:37,453 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:37:37,454 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-27 11:37:37,454 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-27 11:37:37,454 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-27 11:37:37,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:37,457 INFO L93 Difference]: Finished difference Result 215 states and 250 transitions. [2022-04-27 11:37:37,457 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 250 transitions. [2022-04-27 11:37:37,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:37,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:37,457 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-27 11:37:37,457 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-27 11:37:37,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:37,460 INFO L93 Difference]: Finished difference Result 215 states and 250 transitions. [2022-04-27 11:37:37,460 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 250 transitions. [2022-04-27 11:37:37,460 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:37,460 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:37,460 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:37:37,460 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:37:37,461 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-27 11:37:37,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 207 states to 207 states and 240 transitions. [2022-04-27 11:37:37,463 INFO L78 Accepts]: Start accepts. Automaton has 207 states and 240 transitions. Word has length 44 [2022-04-27 11:37:37,463 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:37:37,463 INFO L495 AbstractCegarLoop]: Abstraction has 207 states and 240 transitions. [2022-04-27 11:37:37,463 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 3.6153846153846154) internal successors, (47), 12 states have internal predecessors, (47), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:37,463 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 240 transitions. [2022-04-27 11:37:37,464 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-27 11:37:37,464 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:37:37,464 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:37:37,482 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-27 11:37:37,667 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable34 [2022-04-27 11:37:37,667 INFO L420 AbstractCegarLoop]: === Iteration 36 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:37:37,667 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:37:37,667 INFO L85 PathProgramCache]: Analyzing trace with hash 1255089933, now seen corresponding path program 26 times [2022-04-27 11:37:37,667 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:37:37,667 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [806271664] [2022-04-27 11:37:37,667 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:37:37,667 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:37:37,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:37,688 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:37:37,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:37,690 INFO L290 TraceCheckUtils]: 0: Hoare triple {28479#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {28445#true} is VALID [2022-04-27 11:37:37,690 INFO L290 TraceCheckUtils]: 1: Hoare triple {28445#true} assume true; {28445#true} is VALID [2022-04-27 11:37:37,690 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28445#true} {28445#true} #117#return; {28445#true} is VALID [2022-04-27 11:37:37,690 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:37:37,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:37,694 INFO L290 TraceCheckUtils]: 0: Hoare triple {28445#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {28445#true} is VALID [2022-04-27 11:37:37,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {28445#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28445#true} is VALID [2022-04-27 11:37:37,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {28445#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28445#true} is VALID [2022-04-27 11:37:37,695 INFO L290 TraceCheckUtils]: 3: Hoare triple {28445#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28445#true} is VALID [2022-04-27 11:37:37,695 INFO L290 TraceCheckUtils]: 4: Hoare triple {28445#true} assume !(~b~0 < ~n); {28445#true} is VALID [2022-04-27 11:37:37,695 INFO L290 TraceCheckUtils]: 5: Hoare triple {28445#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28445#true} is VALID [2022-04-27 11:37:37,695 INFO L290 TraceCheckUtils]: 6: Hoare triple {28445#true} assume !(~l~0 < ~m); {28445#true} is VALID [2022-04-27 11:37:37,695 INFO L290 TraceCheckUtils]: 7: Hoare triple {28445#true} ~x~0 := 0;~y~0 := 0; {28445#true} is VALID [2022-04-27 11:37:37,695 INFO L290 TraceCheckUtils]: 8: Hoare triple {28445#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28445#true} is VALID [2022-04-27 11:37:37,695 INFO L290 TraceCheckUtils]: 9: Hoare triple {28445#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28445#true} is VALID [2022-04-27 11:37:37,695 INFO L290 TraceCheckUtils]: 10: Hoare triple {28445#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28445#true} is VALID [2022-04-27 11:37:37,695 INFO L290 TraceCheckUtils]: 11: Hoare triple {28445#true} assume !(~x~0 < ~i~0); {28445#true} is VALID [2022-04-27 11:37:37,695 INFO L290 TraceCheckUtils]: 12: Hoare triple {28445#true} #res := ~y~0; {28445#true} is VALID [2022-04-27 11:37:37,695 INFO L290 TraceCheckUtils]: 13: Hoare triple {28445#true} assume true; {28445#true} is VALID [2022-04-27 11:37:37,695 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {28445#true} {28445#true} #111#return; {28445#true} is VALID [2022-04-27 11:37:37,695 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 11:37:37,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:37,734 INFO L290 TraceCheckUtils]: 0: Hoare triple {28445#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {28480#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:37:37,735 INFO L290 TraceCheckUtils]: 1: Hoare triple {28480#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28481#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:37:37,735 INFO L290 TraceCheckUtils]: 2: Hoare triple {28481#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28482#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:37:37,736 INFO L290 TraceCheckUtils]: 3: Hoare triple {28482#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:37,736 INFO L290 TraceCheckUtils]: 4: Hoare triple {28483#(<= 3 student_version_~i~1)} assume !(~b~1 < ~n); {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:37,736 INFO L290 TraceCheckUtils]: 5: Hoare triple {28483#(<= 3 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:37,736 INFO L290 TraceCheckUtils]: 6: Hoare triple {28483#(<= 3 student_version_~i~1)} assume !(~l~1 < ~m); {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:37,737 INFO L290 TraceCheckUtils]: 7: Hoare triple {28483#(<= 3 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {28484#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:37:37,737 INFO L290 TraceCheckUtils]: 8: Hoare triple {28484#(<= (+ 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; {28485#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:37:37,738 INFO L290 TraceCheckUtils]: 9: Hoare triple {28485#(<= (+ 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; {28486#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:37:37,738 INFO L290 TraceCheckUtils]: 10: Hoare triple {28486#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {28446#false} is VALID [2022-04-27 11:37:37,738 INFO L290 TraceCheckUtils]: 11: Hoare triple {28446#false} #res := ~y~1; {28446#false} is VALID [2022-04-27 11:37:37,738 INFO L290 TraceCheckUtils]: 12: Hoare triple {28446#false} assume true; {28446#false} is VALID [2022-04-27 11:37:37,738 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {28446#false} {28445#true} #113#return; {28446#false} is VALID [2022-04-27 11:37:37,739 INFO L272 TraceCheckUtils]: 0: Hoare triple {28445#true} call ULTIMATE.init(); {28479#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:37:37,739 INFO L290 TraceCheckUtils]: 1: Hoare triple {28479#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {28445#true} is VALID [2022-04-27 11:37:37,739 INFO L290 TraceCheckUtils]: 2: Hoare triple {28445#true} assume true; {28445#true} is VALID [2022-04-27 11:37:37,739 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28445#true} {28445#true} #117#return; {28445#true} is VALID [2022-04-27 11:37:37,739 INFO L272 TraceCheckUtils]: 4: Hoare triple {28445#true} call #t~ret10 := main(); {28445#true} is VALID [2022-04-27 11:37:37,739 INFO L290 TraceCheckUtils]: 5: Hoare triple {28445#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {28445#true} is VALID [2022-04-27 11:37:37,739 INFO L290 TraceCheckUtils]: 6: Hoare triple {28445#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {28445#true} is VALID [2022-04-27 11:37:37,739 INFO L272 TraceCheckUtils]: 7: Hoare triple {28445#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {28445#true} is VALID [2022-04-27 11:37:37,739 INFO L290 TraceCheckUtils]: 8: Hoare triple {28445#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {28445#true} is VALID [2022-04-27 11:37:37,739 INFO L290 TraceCheckUtils]: 9: Hoare triple {28445#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28445#true} is VALID [2022-04-27 11:37:37,739 INFO L290 TraceCheckUtils]: 10: Hoare triple {28445#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28445#true} is VALID [2022-04-27 11:37:37,739 INFO L290 TraceCheckUtils]: 11: Hoare triple {28445#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28445#true} is VALID [2022-04-27 11:37:37,739 INFO L290 TraceCheckUtils]: 12: Hoare triple {28445#true} assume !(~b~0 < ~n); {28445#true} is VALID [2022-04-27 11:37:37,739 INFO L290 TraceCheckUtils]: 13: Hoare triple {28445#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28445#true} is VALID [2022-04-27 11:37:37,739 INFO L290 TraceCheckUtils]: 14: Hoare triple {28445#true} assume !(~l~0 < ~m); {28445#true} is VALID [2022-04-27 11:37:37,739 INFO L290 TraceCheckUtils]: 15: Hoare triple {28445#true} ~x~0 := 0;~y~0 := 0; {28445#true} is VALID [2022-04-27 11:37:37,740 INFO L290 TraceCheckUtils]: 16: Hoare triple {28445#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28445#true} is VALID [2022-04-27 11:37:37,740 INFO L290 TraceCheckUtils]: 17: Hoare triple {28445#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28445#true} is VALID [2022-04-27 11:37:37,740 INFO L290 TraceCheckUtils]: 18: Hoare triple {28445#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28445#true} is VALID [2022-04-27 11:37:37,740 INFO L290 TraceCheckUtils]: 19: Hoare triple {28445#true} assume !(~x~0 < ~i~0); {28445#true} is VALID [2022-04-27 11:37:37,740 INFO L290 TraceCheckUtils]: 20: Hoare triple {28445#true} #res := ~y~0; {28445#true} is VALID [2022-04-27 11:37:37,740 INFO L290 TraceCheckUtils]: 21: Hoare triple {28445#true} assume true; {28445#true} is VALID [2022-04-27 11:37:37,740 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {28445#true} {28445#true} #111#return; {28445#true} is VALID [2022-04-27 11:37:37,740 INFO L290 TraceCheckUtils]: 23: Hoare triple {28445#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {28445#true} is VALID [2022-04-27 11:37:37,740 INFO L272 TraceCheckUtils]: 24: Hoare triple {28445#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {28445#true} is VALID [2022-04-27 11:37:37,740 INFO L290 TraceCheckUtils]: 25: Hoare triple {28445#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {28480#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:37:37,741 INFO L290 TraceCheckUtils]: 26: Hoare triple {28480#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28481#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:37:37,741 INFO L290 TraceCheckUtils]: 27: Hoare triple {28481#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28482#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:37:37,741 INFO L290 TraceCheckUtils]: 28: Hoare triple {28482#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:37,742 INFO L290 TraceCheckUtils]: 29: Hoare triple {28483#(<= 3 student_version_~i~1)} assume !(~b~1 < ~n); {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:37,742 INFO L290 TraceCheckUtils]: 30: Hoare triple {28483#(<= 3 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:37,742 INFO L290 TraceCheckUtils]: 31: Hoare triple {28483#(<= 3 student_version_~i~1)} assume !(~l~1 < ~m); {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:37,742 INFO L290 TraceCheckUtils]: 32: Hoare triple {28483#(<= 3 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {28484#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:37:37,743 INFO L290 TraceCheckUtils]: 33: Hoare triple {28484#(<= (+ 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; {28485#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:37:37,743 INFO L290 TraceCheckUtils]: 34: Hoare triple {28485#(<= (+ 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; {28486#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:37:37,743 INFO L290 TraceCheckUtils]: 35: Hoare triple {28486#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {28446#false} is VALID [2022-04-27 11:37:37,744 INFO L290 TraceCheckUtils]: 36: Hoare triple {28446#false} #res := ~y~1; {28446#false} is VALID [2022-04-27 11:37:37,744 INFO L290 TraceCheckUtils]: 37: Hoare triple {28446#false} assume true; {28446#false} is VALID [2022-04-27 11:37:37,744 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {28446#false} {28445#true} #113#return; {28446#false} is VALID [2022-04-27 11:37:37,744 INFO L290 TraceCheckUtils]: 39: Hoare triple {28446#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {28446#false} is VALID [2022-04-27 11:37:37,744 INFO L272 TraceCheckUtils]: 40: Hoare triple {28446#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {28446#false} is VALID [2022-04-27 11:37:37,744 INFO L290 TraceCheckUtils]: 41: Hoare triple {28446#false} ~cond := #in~cond; {28446#false} is VALID [2022-04-27 11:37:37,744 INFO L290 TraceCheckUtils]: 42: Hoare triple {28446#false} assume 0 == ~cond; {28446#false} is VALID [2022-04-27 11:37:37,744 INFO L290 TraceCheckUtils]: 43: Hoare triple {28446#false} assume !false; {28446#false} is VALID [2022-04-27 11:37:37,744 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-27 11:37:37,744 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:37:37,744 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [806271664] [2022-04-27 11:37:37,744 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [806271664] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:37:37,744 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [210081833] [2022-04-27 11:37:37,744 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:37:37,744 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:37,745 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:37:37,745 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-27 11:37:37,769 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-27 11:37:37,814 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:37:37,814 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:37:37,815 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-27 11:37:37,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:37,823 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:37:37,952 INFO L272 TraceCheckUtils]: 0: Hoare triple {28445#true} call ULTIMATE.init(); {28445#true} is VALID [2022-04-27 11:37:37,952 INFO L290 TraceCheckUtils]: 1: Hoare triple {28445#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L290 TraceCheckUtils]: 2: Hoare triple {28445#true} assume true; {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28445#true} {28445#true} #117#return; {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L272 TraceCheckUtils]: 4: Hoare triple {28445#true} call #t~ret10 := main(); {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L290 TraceCheckUtils]: 5: Hoare triple {28445#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L290 TraceCheckUtils]: 6: Hoare triple {28445#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L272 TraceCheckUtils]: 7: Hoare triple {28445#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L290 TraceCheckUtils]: 8: Hoare triple {28445#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L290 TraceCheckUtils]: 9: Hoare triple {28445#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L290 TraceCheckUtils]: 10: Hoare triple {28445#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L290 TraceCheckUtils]: 11: Hoare triple {28445#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L290 TraceCheckUtils]: 12: Hoare triple {28445#true} assume !(~b~0 < ~n); {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L290 TraceCheckUtils]: 13: Hoare triple {28445#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L290 TraceCheckUtils]: 14: Hoare triple {28445#true} assume !(~l~0 < ~m); {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L290 TraceCheckUtils]: 15: Hoare triple {28445#true} ~x~0 := 0;~y~0 := 0; {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L290 TraceCheckUtils]: 16: Hoare triple {28445#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28445#true} is VALID [2022-04-27 11:37:37,953 INFO L290 TraceCheckUtils]: 17: Hoare triple {28445#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28445#true} is VALID [2022-04-27 11:37:37,954 INFO L290 TraceCheckUtils]: 18: Hoare triple {28445#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28445#true} is VALID [2022-04-27 11:37:37,954 INFO L290 TraceCheckUtils]: 19: Hoare triple {28445#true} assume !(~x~0 < ~i~0); {28445#true} is VALID [2022-04-27 11:37:37,954 INFO L290 TraceCheckUtils]: 20: Hoare triple {28445#true} #res := ~y~0; {28445#true} is VALID [2022-04-27 11:37:37,954 INFO L290 TraceCheckUtils]: 21: Hoare triple {28445#true} assume true; {28445#true} is VALID [2022-04-27 11:37:37,954 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {28445#true} {28445#true} #111#return; {28445#true} is VALID [2022-04-27 11:37:37,954 INFO L290 TraceCheckUtils]: 23: Hoare triple {28445#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {28445#true} is VALID [2022-04-27 11:37:37,954 INFO L272 TraceCheckUtils]: 24: Hoare triple {28445#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {28445#true} is VALID [2022-04-27 11:37:37,954 INFO L290 TraceCheckUtils]: 25: Hoare triple {28445#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {28480#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:37:37,955 INFO L290 TraceCheckUtils]: 26: Hoare triple {28480#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28481#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:37:37,955 INFO L290 TraceCheckUtils]: 27: Hoare triple {28481#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28482#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:37:37,955 INFO L290 TraceCheckUtils]: 28: Hoare triple {28482#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:37,956 INFO L290 TraceCheckUtils]: 29: Hoare triple {28483#(<= 3 student_version_~i~1)} assume !(~b~1 < ~n); {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:37,956 INFO L290 TraceCheckUtils]: 30: Hoare triple {28483#(<= 3 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:37,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {28483#(<= 3 student_version_~i~1)} assume !(~l~1 < ~m); {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:37,956 INFO L290 TraceCheckUtils]: 32: Hoare triple {28483#(<= 3 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {28586#(and (<= student_version_~x~1 0) (<= 3 student_version_~i~1))} is VALID [2022-04-27 11:37:37,957 INFO L290 TraceCheckUtils]: 33: Hoare triple {28586#(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; {28590#(and (<= 3 student_version_~i~1) (<= student_version_~x~1 1))} is VALID [2022-04-27 11:37:37,957 INFO L290 TraceCheckUtils]: 34: Hoare triple {28590#(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; {28594#(and (<= student_version_~x~1 2) (<= 3 student_version_~i~1))} is VALID [2022-04-27 11:37:37,958 INFO L290 TraceCheckUtils]: 35: Hoare triple {28594#(and (<= student_version_~x~1 2) (<= 3 student_version_~i~1))} assume !(~x~1 < ~i~1); {28446#false} is VALID [2022-04-27 11:37:37,958 INFO L290 TraceCheckUtils]: 36: Hoare triple {28446#false} #res := ~y~1; {28446#false} is VALID [2022-04-27 11:37:37,958 INFO L290 TraceCheckUtils]: 37: Hoare triple {28446#false} assume true; {28446#false} is VALID [2022-04-27 11:37:37,958 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {28446#false} {28445#true} #113#return; {28446#false} is VALID [2022-04-27 11:37:37,958 INFO L290 TraceCheckUtils]: 39: Hoare triple {28446#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {28446#false} is VALID [2022-04-27 11:37:37,958 INFO L272 TraceCheckUtils]: 40: Hoare triple {28446#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {28446#false} is VALID [2022-04-27 11:37:37,959 INFO L290 TraceCheckUtils]: 41: Hoare triple {28446#false} ~cond := #in~cond; {28446#false} is VALID [2022-04-27 11:37:37,959 INFO L290 TraceCheckUtils]: 42: Hoare triple {28446#false} assume 0 == ~cond; {28446#false} is VALID [2022-04-27 11:37:37,959 INFO L290 TraceCheckUtils]: 43: Hoare triple {28446#false} assume !false; {28446#false} is VALID [2022-04-27 11:37:37,959 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-27 11:37:37,959 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:37:38,079 INFO L290 TraceCheckUtils]: 43: Hoare triple {28446#false} assume !false; {28446#false} is VALID [2022-04-27 11:37:38,079 INFO L290 TraceCheckUtils]: 42: Hoare triple {28446#false} assume 0 == ~cond; {28446#false} is VALID [2022-04-27 11:37:38,079 INFO L290 TraceCheckUtils]: 41: Hoare triple {28446#false} ~cond := #in~cond; {28446#false} is VALID [2022-04-27 11:37:38,080 INFO L272 TraceCheckUtils]: 40: Hoare triple {28446#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {28446#false} is VALID [2022-04-27 11:37:38,080 INFO L290 TraceCheckUtils]: 39: Hoare triple {28446#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {28446#false} is VALID [2022-04-27 11:37:38,080 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {28446#false} {28445#true} #113#return; {28446#false} is VALID [2022-04-27 11:37:38,080 INFO L290 TraceCheckUtils]: 37: Hoare triple {28446#false} assume true; {28446#false} is VALID [2022-04-27 11:37:38,080 INFO L290 TraceCheckUtils]: 36: Hoare triple {28446#false} #res := ~y~1; {28446#false} is VALID [2022-04-27 11:37:38,080 INFO L290 TraceCheckUtils]: 35: Hoare triple {28486#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {28446#false} is VALID [2022-04-27 11:37:38,081 INFO L290 TraceCheckUtils]: 34: Hoare triple {28485#(<= (+ 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; {28486#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:37:38,081 INFO L290 TraceCheckUtils]: 33: Hoare triple {28484#(<= (+ 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; {28485#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:37:38,081 INFO L290 TraceCheckUtils]: 32: Hoare triple {28483#(<= 3 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {28484#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:37:38,082 INFO L290 TraceCheckUtils]: 31: Hoare triple {28483#(<= 3 student_version_~i~1)} assume !(~l~1 < ~m); {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:38,082 INFO L290 TraceCheckUtils]: 30: Hoare triple {28483#(<= 3 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:38,082 INFO L290 TraceCheckUtils]: 29: Hoare triple {28483#(<= 3 student_version_~i~1)} assume !(~b~1 < ~n); {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:38,083 INFO L290 TraceCheckUtils]: 28: Hoare triple {28482#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28483#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:37:38,083 INFO L290 TraceCheckUtils]: 27: Hoare triple {28481#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28482#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:37:38,083 INFO L290 TraceCheckUtils]: 26: Hoare triple {28480#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {28481#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:37:38,084 INFO L290 TraceCheckUtils]: 25: Hoare triple {28445#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {28480#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:37:38,084 INFO L272 TraceCheckUtils]: 24: Hoare triple {28445#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {28445#true} is VALID [2022-04-27 11:37:38,084 INFO L290 TraceCheckUtils]: 23: Hoare triple {28445#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {28445#true} is VALID [2022-04-27 11:37:38,084 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {28445#true} {28445#true} #111#return; {28445#true} is VALID [2022-04-27 11:37:38,084 INFO L290 TraceCheckUtils]: 21: Hoare triple {28445#true} assume true; {28445#true} is VALID [2022-04-27 11:37:38,084 INFO L290 TraceCheckUtils]: 20: Hoare triple {28445#true} #res := ~y~0; {28445#true} is VALID [2022-04-27 11:37:38,084 INFO L290 TraceCheckUtils]: 19: Hoare triple {28445#true} assume !(~x~0 < ~i~0); {28445#true} is VALID [2022-04-27 11:37:38,084 INFO L290 TraceCheckUtils]: 18: Hoare triple {28445#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28445#true} is VALID [2022-04-27 11:37:38,084 INFO L290 TraceCheckUtils]: 17: Hoare triple {28445#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28445#true} is VALID [2022-04-27 11:37:38,084 INFO L290 TraceCheckUtils]: 16: Hoare triple {28445#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {28445#true} is VALID [2022-04-27 11:37:38,084 INFO L290 TraceCheckUtils]: 15: Hoare triple {28445#true} ~x~0 := 0;~y~0 := 0; {28445#true} is VALID [2022-04-27 11:37:38,084 INFO L290 TraceCheckUtils]: 14: Hoare triple {28445#true} assume !(~l~0 < ~m); {28445#true} is VALID [2022-04-27 11:37:38,084 INFO L290 TraceCheckUtils]: 13: Hoare triple {28445#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {28445#true} is VALID [2022-04-27 11:37:38,084 INFO L290 TraceCheckUtils]: 12: Hoare triple {28445#true} assume !(~b~0 < ~n); {28445#true} is VALID [2022-04-27 11:37:38,085 INFO L290 TraceCheckUtils]: 11: Hoare triple {28445#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28445#true} is VALID [2022-04-27 11:37:38,085 INFO L290 TraceCheckUtils]: 10: Hoare triple {28445#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28445#true} is VALID [2022-04-27 11:37:38,085 INFO L290 TraceCheckUtils]: 9: Hoare triple {28445#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {28445#true} is VALID [2022-04-27 11:37:38,085 INFO L290 TraceCheckUtils]: 8: Hoare triple {28445#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {28445#true} is VALID [2022-04-27 11:37:38,085 INFO L272 TraceCheckUtils]: 7: Hoare triple {28445#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {28445#true} is VALID [2022-04-27 11:37:38,085 INFO L290 TraceCheckUtils]: 6: Hoare triple {28445#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {28445#true} is VALID [2022-04-27 11:37:38,085 INFO L290 TraceCheckUtils]: 5: Hoare triple {28445#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {28445#true} is VALID [2022-04-27 11:37:38,085 INFO L272 TraceCheckUtils]: 4: Hoare triple {28445#true} call #t~ret10 := main(); {28445#true} is VALID [2022-04-27 11:37:38,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28445#true} {28445#true} #117#return; {28445#true} is VALID [2022-04-27 11:37:38,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {28445#true} assume true; {28445#true} is VALID [2022-04-27 11:37:38,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {28445#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {28445#true} is VALID [2022-04-27 11:37:38,085 INFO L272 TraceCheckUtils]: 0: Hoare triple {28445#true} call ULTIMATE.init(); {28445#true} is VALID [2022-04-27 11:37:38,085 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-27 11:37:38,085 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [210081833] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:37:38,085 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:37:38,086 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 13 [2022-04-27 11:37:38,086 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [798320373] [2022-04-27 11:37:38,086 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:37:38,086 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 12 states have internal predecessors, (37), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 44 [2022-04-27 11:37:38,086 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:37:38,086 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 12 states have internal predecessors, (37), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:37:38,109 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-27 11:37:38,109 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-27 11:37:38,109 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:37:38,110 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-27 11:37:38,110 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=103, Unknown=0, NotChecked=0, Total=156 [2022-04-27 11:37:38,110 INFO L87 Difference]: Start difference. First operand 207 states and 240 transitions. Second operand has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 12 states have internal predecessors, (37), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:37:38,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:38,853 INFO L93 Difference]: Finished difference Result 233 states and 270 transitions. [2022-04-27 11:37:38,853 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-27 11:37:38,853 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 12 states have internal predecessors, (37), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 44 [2022-04-27 11:37:38,853 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:37:38,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 12 states have internal predecessors, (37), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:37:38,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-27 11:37:38,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 12 states have internal predecessors, (37), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:37:38,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 71 transitions. [2022-04-27 11:37:38,854 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 71 transitions. [2022-04-27 11:37:38,883 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-27 11:37:38,886 INFO L225 Difference]: With dead ends: 233 [2022-04-27 11:37:38,886 INFO L226 Difference]: Without dead ends: 212 [2022-04-27 11:37:38,887 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 77 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=169, Invalid=337, Unknown=0, NotChecked=0, Total=506 [2022-04-27 11:37:38,887 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 60 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 188 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 63 SdHoareTripleChecker+Invalid, 213 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 188 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:37:38,887 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [64 Valid, 63 Invalid, 213 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 188 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:37:38,888 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-27 11:37:39,406 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-27 11:37:39,406 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:37:39,407 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-27 11:37:39,407 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-27 11:37:39,407 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-27 11:37:39,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:39,415 INFO L93 Difference]: Finished difference Result 212 states and 245 transitions. [2022-04-27 11:37:39,415 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 245 transitions. [2022-04-27 11:37:39,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:39,415 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:39,416 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-27 11:37:39,417 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-27 11:37:39,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:39,441 INFO L93 Difference]: Finished difference Result 212 states and 245 transitions. [2022-04-27 11:37:39,441 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 245 transitions. [2022-04-27 11:37:39,441 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:39,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:39,441 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:37:39,441 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:37:39,442 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-27 11:37:39,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 245 transitions. [2022-04-27 11:37:39,444 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 245 transitions. Word has length 44 [2022-04-27 11:37:39,444 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:37:39,445 INFO L495 AbstractCegarLoop]: Abstraction has 212 states and 245 transitions. [2022-04-27 11:37:39,445 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 12 states have internal predecessors, (37), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:37:39,445 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 245 transitions. [2022-04-27 11:37:39,445 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-27 11:37:39,445 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:37:39,445 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:37:39,463 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-27 11:37:39,659 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable35 [2022-04-27 11:37:39,659 INFO L420 AbstractCegarLoop]: === Iteration 37 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:37:39,660 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:37:39,660 INFO L85 PathProgramCache]: Analyzing trace with hash -1761268627, now seen corresponding path program 27 times [2022-04-27 11:37:39,660 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:37:39,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [563870053] [2022-04-27 11:37:39,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:37:39,660 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:37:39,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:39,735 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:37:39,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:39,737 INFO L290 TraceCheckUtils]: 0: Hoare triple {29861#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {29820#true} is VALID [2022-04-27 11:37:39,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {29820#true} assume true; {29820#true} is VALID [2022-04-27 11:37:39,737 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {29820#true} {29820#true} #117#return; {29820#true} is VALID [2022-04-27 11:37:39,737 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:37:39,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:39,874 INFO L290 TraceCheckUtils]: 0: Hoare triple {29820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:39,875 INFO L290 TraceCheckUtils]: 1: Hoare triple {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:39,875 INFO L290 TraceCheckUtils]: 2: Hoare triple {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:39,876 INFO L290 TraceCheckUtils]: 3: Hoare triple {29862#(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; {29863#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:39,876 INFO L290 TraceCheckUtils]: 4: Hoare triple {29863#(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; {29864#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:39,877 INFO L290 TraceCheckUtils]: 5: Hoare triple {29864#(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; {29865#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:39,877 INFO L290 TraceCheckUtils]: 6: Hoare triple {29865#(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; {29866#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:37:39,877 INFO L290 TraceCheckUtils]: 7: Hoare triple {29866#(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; {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:37:39,878 INFO L290 TraceCheckUtils]: 8: Hoare triple {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:37:39,878 INFO L290 TraceCheckUtils]: 9: Hoare triple {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {29868#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 5) (<= 5 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:37:39,879 INFO L290 TraceCheckUtils]: 10: Hoare triple {29868#(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; {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:37:39,879 INFO L290 TraceCheckUtils]: 11: Hoare triple {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} assume !(~x~0 < ~i~0); {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:37:39,879 INFO L290 TraceCheckUtils]: 12: Hoare triple {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} #res := ~y~0; {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:37:39,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} assume true; {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:37:39,880 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} {29820#true} #111#return; {29840#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} is VALID [2022-04-27 11:37:39,880 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 11:37:39,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:40,033 INFO L290 TraceCheckUtils]: 0: Hoare triple {29820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:40,033 INFO L290 TraceCheckUtils]: 1: Hoare triple {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:40,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:40,034 INFO L290 TraceCheckUtils]: 3: Hoare triple {29871#(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; {29872#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:40,034 INFO L290 TraceCheckUtils]: 4: Hoare triple {29872#(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; {29873#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:40,035 INFO L290 TraceCheckUtils]: 5: Hoare triple {29873#(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; {29874#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:40,035 INFO L290 TraceCheckUtils]: 6: Hoare triple {29874#(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; {29875#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:37:40,035 INFO L290 TraceCheckUtils]: 7: Hoare triple {29875#(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; {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:37:40,036 INFO L290 TraceCheckUtils]: 8: Hoare triple {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:37:40,036 INFO L290 TraceCheckUtils]: 9: Hoare triple {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {29877#(and (<= (+ student_version_~j~1 student_version_~y~1) 5) (<= 5 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:37:40,036 INFO L290 TraceCheckUtils]: 10: Hoare triple {29877#(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; {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:37:40,037 INFO L290 TraceCheckUtils]: 11: Hoare triple {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} assume !(~x~1 < ~i~1); {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:37:40,037 INFO L290 TraceCheckUtils]: 12: Hoare triple {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} #res := ~y~1; {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:37:40,037 INFO L290 TraceCheckUtils]: 13: Hoare triple {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} assume true; {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:37:40,038 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} {29841#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} #113#return; {29857#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:37:40,038 INFO L272 TraceCheckUtils]: 0: Hoare triple {29820#true} call ULTIMATE.init(); {29861#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:37:40,038 INFO L290 TraceCheckUtils]: 1: Hoare triple {29861#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {29820#true} is VALID [2022-04-27 11:37:40,038 INFO L290 TraceCheckUtils]: 2: Hoare triple {29820#true} assume true; {29820#true} is VALID [2022-04-27 11:37:40,038 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29820#true} {29820#true} #117#return; {29820#true} is VALID [2022-04-27 11:37:40,038 INFO L272 TraceCheckUtils]: 4: Hoare triple {29820#true} call #t~ret10 := main(); {29820#true} is VALID [2022-04-27 11:37:40,038 INFO L290 TraceCheckUtils]: 5: Hoare triple {29820#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {29820#true} is VALID [2022-04-27 11:37:40,038 INFO L290 TraceCheckUtils]: 6: Hoare triple {29820#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {29820#true} is VALID [2022-04-27 11:37:40,038 INFO L272 TraceCheckUtils]: 7: Hoare triple {29820#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {29820#true} is VALID [2022-04-27 11:37:40,039 INFO L290 TraceCheckUtils]: 8: Hoare triple {29820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:40,039 INFO L290 TraceCheckUtils]: 9: Hoare triple {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:40,039 INFO L290 TraceCheckUtils]: 10: Hoare triple {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:40,039 INFO L290 TraceCheckUtils]: 11: Hoare triple {29862#(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; {29863#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:40,040 INFO L290 TraceCheckUtils]: 12: Hoare triple {29863#(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; {29864#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:40,040 INFO L290 TraceCheckUtils]: 13: Hoare triple {29864#(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; {29865#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:40,041 INFO L290 TraceCheckUtils]: 14: Hoare triple {29865#(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; {29866#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:37:40,041 INFO L290 TraceCheckUtils]: 15: Hoare triple {29866#(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; {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:37:40,041 INFO L290 TraceCheckUtils]: 16: Hoare triple {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:37:40,041 INFO L290 TraceCheckUtils]: 17: Hoare triple {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {29868#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 5) (<= 5 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:37:40,042 INFO L290 TraceCheckUtils]: 18: Hoare triple {29868#(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; {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:37:40,042 INFO L290 TraceCheckUtils]: 19: Hoare triple {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} assume !(~x~0 < ~i~0); {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:37:40,042 INFO L290 TraceCheckUtils]: 20: Hoare triple {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} #res := ~y~0; {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:37:40,042 INFO L290 TraceCheckUtils]: 21: Hoare triple {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} assume true; {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:37:40,043 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} {29820#true} #111#return; {29840#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} is VALID [2022-04-27 11:37:40,043 INFO L290 TraceCheckUtils]: 23: Hoare triple {29840#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {29841#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} is VALID [2022-04-27 11:37:40,043 INFO L272 TraceCheckUtils]: 24: Hoare triple {29841#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {29820#true} is VALID [2022-04-27 11:37:40,044 INFO L290 TraceCheckUtils]: 25: Hoare triple {29820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:40,044 INFO L290 TraceCheckUtils]: 26: Hoare triple {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:40,044 INFO L290 TraceCheckUtils]: 27: Hoare triple {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:40,044 INFO L290 TraceCheckUtils]: 28: Hoare triple {29871#(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; {29872#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:40,045 INFO L290 TraceCheckUtils]: 29: Hoare triple {29872#(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; {29873#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:40,045 INFO L290 TraceCheckUtils]: 30: Hoare triple {29873#(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; {29874#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:40,045 INFO L290 TraceCheckUtils]: 31: Hoare triple {29874#(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; {29875#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:37:40,046 INFO L290 TraceCheckUtils]: 32: Hoare triple {29875#(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; {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:37:40,046 INFO L290 TraceCheckUtils]: 33: Hoare triple {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:37:40,046 INFO L290 TraceCheckUtils]: 34: Hoare triple {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {29877#(and (<= (+ student_version_~j~1 student_version_~y~1) 5) (<= 5 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:37:40,047 INFO L290 TraceCheckUtils]: 35: Hoare triple {29877#(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; {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:37:40,047 INFO L290 TraceCheckUtils]: 36: Hoare triple {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} assume !(~x~1 < ~i~1); {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:37:40,047 INFO L290 TraceCheckUtils]: 37: Hoare triple {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} #res := ~y~1; {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:37:40,047 INFO L290 TraceCheckUtils]: 38: Hoare triple {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} assume true; {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:37:40,048 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} {29841#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} #113#return; {29857#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:37:40,048 INFO L290 TraceCheckUtils]: 40: Hoare triple {29857#(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; {29858#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:37:40,049 INFO L272 TraceCheckUtils]: 41: Hoare triple {29858#(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)); {29859#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:37:40,049 INFO L290 TraceCheckUtils]: 42: Hoare triple {29859#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {29860#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:37:40,049 INFO L290 TraceCheckUtils]: 43: Hoare triple {29860#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {29821#false} is VALID [2022-04-27 11:37:40,049 INFO L290 TraceCheckUtils]: 44: Hoare triple {29821#false} assume !false; {29821#false} is VALID [2022-04-27 11:37:40,049 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-27 11:37:40,049 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:37:40,049 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [563870053] [2022-04-27 11:37:40,049 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [563870053] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:37:40,049 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [286414184] [2022-04-27 11:37:40,050 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:37:40,050 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:40,050 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:37:40,051 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-27 11:37:40,052 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-27 11:37:40,107 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 11:37:40,107 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:37:40,108 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-27 11:37:40,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:40,115 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:37:40,599 INFO L272 TraceCheckUtils]: 0: Hoare triple {29820#true} call ULTIMATE.init(); {29820#true} is VALID [2022-04-27 11:37:40,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {29820#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {29820#true} is VALID [2022-04-27 11:37:40,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {29820#true} assume true; {29820#true} is VALID [2022-04-27 11:37:40,600 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29820#true} {29820#true} #117#return; {29820#true} is VALID [2022-04-27 11:37:40,600 INFO L272 TraceCheckUtils]: 4: Hoare triple {29820#true} call #t~ret10 := main(); {29820#true} is VALID [2022-04-27 11:37:40,600 INFO L290 TraceCheckUtils]: 5: Hoare triple {29820#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {29820#true} is VALID [2022-04-27 11:37:40,600 INFO L290 TraceCheckUtils]: 6: Hoare triple {29820#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {29820#true} is VALID [2022-04-27 11:37:40,600 INFO L272 TraceCheckUtils]: 7: Hoare triple {29820#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {29820#true} is VALID [2022-04-27 11:37:40,600 INFO L290 TraceCheckUtils]: 8: Hoare triple {29820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:40,600 INFO L290 TraceCheckUtils]: 9: Hoare triple {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:40,601 INFO L290 TraceCheckUtils]: 10: Hoare triple {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:40,601 INFO L290 TraceCheckUtils]: 11: Hoare triple {29862#(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; {29863#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:40,601 INFO L290 TraceCheckUtils]: 12: Hoare triple {29863#(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; {29864#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:40,602 INFO L290 TraceCheckUtils]: 13: Hoare triple {29864#(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; {29865#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:40,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {29865#(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; {29866#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:37:40,602 INFO L290 TraceCheckUtils]: 15: Hoare triple {29866#(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; {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:37:40,603 INFO L290 TraceCheckUtils]: 16: Hoare triple {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:37:40,603 INFO L290 TraceCheckUtils]: 17: Hoare triple {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {29934#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 0))} is VALID [2022-04-27 11:37:40,603 INFO L290 TraceCheckUtils]: 18: Hoare triple {29934#(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; {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:37:40,603 INFO L290 TraceCheckUtils]: 19: Hoare triple {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} assume !(~x~0 < ~i~0); {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:37:40,604 INFO L290 TraceCheckUtils]: 20: Hoare triple {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} #res := ~y~0; {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:37:40,604 INFO L290 TraceCheckUtils]: 21: Hoare triple {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} assume true; {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:37:40,604 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} {29820#true} #111#return; {29840#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} is VALID [2022-04-27 11:37:40,605 INFO L290 TraceCheckUtils]: 23: Hoare triple {29840#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {29841#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} is VALID [2022-04-27 11:37:40,605 INFO L272 TraceCheckUtils]: 24: Hoare triple {29841#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {29820#true} is VALID [2022-04-27 11:37:40,605 INFO L290 TraceCheckUtils]: 25: Hoare triple {29820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:40,605 INFO L290 TraceCheckUtils]: 26: Hoare triple {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:40,605 INFO L290 TraceCheckUtils]: 27: Hoare triple {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:40,606 INFO L290 TraceCheckUtils]: 28: Hoare triple {29871#(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; {29872#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:40,606 INFO L290 TraceCheckUtils]: 29: Hoare triple {29872#(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; {29873#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:40,606 INFO L290 TraceCheckUtils]: 30: Hoare triple {29873#(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; {29874#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:40,607 INFO L290 TraceCheckUtils]: 31: Hoare triple {29874#(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; {29875#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:37:40,607 INFO L290 TraceCheckUtils]: 32: Hoare triple {29875#(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; {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:37:40,607 INFO L290 TraceCheckUtils]: 33: Hoare triple {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:37:40,607 INFO L290 TraceCheckUtils]: 34: Hoare triple {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {29986#(and (<= student_version_~j~1 5) (= student_version_~y~1 0) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:37:40,608 INFO L290 TraceCheckUtils]: 35: Hoare triple {29986#(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; {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:37:40,608 INFO L290 TraceCheckUtils]: 36: Hoare triple {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} assume !(~x~1 < ~i~1); {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:37:40,608 INFO L290 TraceCheckUtils]: 37: Hoare triple {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} #res := ~y~1; {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:37:40,609 INFO L290 TraceCheckUtils]: 38: Hoare triple {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} assume true; {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:37:40,609 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} {29841#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} #113#return; {30002#(and (<= 5 |main_#t~ret9|) (<= main_~n_stones1~0 5) (<= |main_#t~ret9| 5) (<= 5 main_~n_stones1~0))} is VALID [2022-04-27 11:37:40,609 INFO L290 TraceCheckUtils]: 40: Hoare triple {30002#(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; {30006#(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-27 11:37:40,610 INFO L272 TraceCheckUtils]: 41: Hoare triple {30006#(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)); {30010#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:37:40,610 INFO L290 TraceCheckUtils]: 42: Hoare triple {30010#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {30014#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:37:40,610 INFO L290 TraceCheckUtils]: 43: Hoare triple {30014#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29821#false} is VALID [2022-04-27 11:37:40,610 INFO L290 TraceCheckUtils]: 44: Hoare triple {29821#false} assume !false; {29821#false} is VALID [2022-04-27 11:37:40,610 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-27 11:37:40,610 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:37:41,007 INFO L290 TraceCheckUtils]: 44: Hoare triple {29821#false} assume !false; {29821#false} is VALID [2022-04-27 11:37:41,008 INFO L290 TraceCheckUtils]: 43: Hoare triple {30014#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29821#false} is VALID [2022-04-27 11:37:41,008 INFO L290 TraceCheckUtils]: 42: Hoare triple {30010#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {30014#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:37:41,009 INFO L272 TraceCheckUtils]: 41: Hoare triple {29858#(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)); {30010#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:37:41,009 INFO L290 TraceCheckUtils]: 40: Hoare triple {29857#(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; {29858#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:37:41,010 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} {29841#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} #113#return; {29857#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:37:41,010 INFO L290 TraceCheckUtils]: 38: Hoare triple {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} assume true; {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:37:41,011 INFO L290 TraceCheckUtils]: 37: Hoare triple {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} #res := ~y~1; {29879#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:37:41,011 INFO L290 TraceCheckUtils]: 36: Hoare triple {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} assume !(~x~1 < ~i~1); {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:37:41,011 INFO L290 TraceCheckUtils]: 35: Hoare triple {29877#(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; {29878#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:37:41,012 INFO L290 TraceCheckUtils]: 34: Hoare triple {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {29877#(and (<= (+ student_version_~j~1 student_version_~y~1) 5) (<= 5 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:37:41,012 INFO L290 TraceCheckUtils]: 33: Hoare triple {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:37:41,013 INFO L290 TraceCheckUtils]: 32: Hoare triple {29875#(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; {29876#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:37:41,013 INFO L290 TraceCheckUtils]: 31: Hoare triple {29874#(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; {29875#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:37:41,013 INFO L290 TraceCheckUtils]: 30: Hoare triple {29873#(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; {29874#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:41,014 INFO L290 TraceCheckUtils]: 29: Hoare triple {29872#(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; {29873#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:41,014 INFO L290 TraceCheckUtils]: 28: Hoare triple {29871#(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; {29872#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:41,015 INFO L290 TraceCheckUtils]: 27: Hoare triple {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:41,015 INFO L290 TraceCheckUtils]: 26: Hoare triple {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:41,015 INFO L290 TraceCheckUtils]: 25: Hoare triple {29820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {29871#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:41,016 INFO L272 TraceCheckUtils]: 24: Hoare triple {29841#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {29820#true} is VALID [2022-04-27 11:37:41,016 INFO L290 TraceCheckUtils]: 23: Hoare triple {29840#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {29841#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} is VALID [2022-04-27 11:37:41,017 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} {29820#true} #111#return; {29840#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} is VALID [2022-04-27 11:37:41,017 INFO L290 TraceCheckUtils]: 21: Hoare triple {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} assume true; {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:37:41,017 INFO L290 TraceCheckUtils]: 20: Hoare triple {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} #res := ~y~0; {29870#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:37:41,018 INFO L290 TraceCheckUtils]: 19: Hoare triple {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} assume !(~x~0 < ~i~0); {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:37:41,018 INFO L290 TraceCheckUtils]: 18: Hoare triple {29868#(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; {29869#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:37:41,018 INFO L290 TraceCheckUtils]: 17: Hoare triple {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {29868#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 5) (<= 5 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:37:41,019 INFO L290 TraceCheckUtils]: 16: Hoare triple {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:37:41,019 INFO L290 TraceCheckUtils]: 15: Hoare triple {29866#(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; {29867#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:37:41,020 INFO L290 TraceCheckUtils]: 14: Hoare triple {29865#(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; {29866#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:37:41,020 INFO L290 TraceCheckUtils]: 13: Hoare triple {29864#(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; {29865#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:41,020 INFO L290 TraceCheckUtils]: 12: Hoare triple {29863#(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; {29864#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:41,021 INFO L290 TraceCheckUtils]: 11: Hoare triple {29862#(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; {29863#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:41,021 INFO L290 TraceCheckUtils]: 10: Hoare triple {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:41,022 INFO L290 TraceCheckUtils]: 9: Hoare triple {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:41,022 INFO L290 TraceCheckUtils]: 8: Hoare triple {29820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {29862#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:41,022 INFO L272 TraceCheckUtils]: 7: Hoare triple {29820#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {29820#true} is VALID [2022-04-27 11:37:41,022 INFO L290 TraceCheckUtils]: 6: Hoare triple {29820#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {29820#true} is VALID [2022-04-27 11:37:41,022 INFO L290 TraceCheckUtils]: 5: Hoare triple {29820#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {29820#true} is VALID [2022-04-27 11:37:41,022 INFO L272 TraceCheckUtils]: 4: Hoare triple {29820#true} call #t~ret10 := main(); {29820#true} is VALID [2022-04-27 11:37:41,022 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29820#true} {29820#true} #117#return; {29820#true} is VALID [2022-04-27 11:37:41,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {29820#true} assume true; {29820#true} is VALID [2022-04-27 11:37:41,022 INFO L290 TraceCheckUtils]: 1: Hoare triple {29820#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {29820#true} is VALID [2022-04-27 11:37:41,022 INFO L272 TraceCheckUtils]: 0: Hoare triple {29820#true} call ULTIMATE.init(); {29820#true} is VALID [2022-04-27 11:37:41,023 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-27 11:37:41,023 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [286414184] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:37:41,023 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:37:41,023 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 33 [2022-04-27 11:37:41,023 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [684103988] [2022-04-27 11:37:41,023 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:37:41,023 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 45 [2022-04-27 11:37:41,024 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:37:41,024 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:41,053 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-27 11:37:41,054 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-27 11:37:41,054 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:37:41,054 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-27 11:37:41,054 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=983, Unknown=0, NotChecked=0, Total=1056 [2022-04-27 11:37:41,054 INFO L87 Difference]: Start difference. First operand 212 states and 245 transitions. Second operand has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:45,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:45,181 INFO L93 Difference]: Finished difference Result 270 states and 312 transitions. [2022-04-27 11:37:45,181 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-27 11:37:45,181 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 45 [2022-04-27 11:37:45,181 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:37:45,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:45,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 142 transitions. [2022-04-27 11:37:45,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:45,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 142 transitions. [2022-04-27 11:37:45,186 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 142 transitions. [2022-04-27 11:37:45,294 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-27 11:37:45,299 INFO L225 Difference]: With dead ends: 270 [2022-04-27 11:37:45,299 INFO L226 Difference]: Without dead ends: 264 [2022-04-27 11:37:45,300 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 145 GetRequests, 84 SyntacticMatches, 5 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 457 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=205, Invalid=3101, Unknown=0, NotChecked=0, Total=3306 [2022-04-27 11:37:45,300 INFO L413 NwaCegarLoop]: 69 mSDtfsCounter, 151 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 2553 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 157 SdHoareTripleChecker+Valid, 196 SdHoareTripleChecker+Invalid, 2591 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 2553 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-27 11:37:45,301 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [157 Valid, 196 Invalid, 2591 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 2553 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-27 11:37:45,301 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 264 states. [2022-04-27 11:37:46,081 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 264 to 228. [2022-04-27 11:37:46,082 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:37:46,082 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-27 11:37:46,082 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-27 11:37:46,082 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-27 11:37:46,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:46,086 INFO L93 Difference]: Finished difference Result 264 states and 306 transitions. [2022-04-27 11:37:46,086 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 306 transitions. [2022-04-27 11:37:46,086 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:46,086 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:46,086 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-27 11:37:46,087 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-27 11:37:46,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:46,090 INFO L93 Difference]: Finished difference Result 264 states and 306 transitions. [2022-04-27 11:37:46,090 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 306 transitions. [2022-04-27 11:37:46,090 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:46,090 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:46,090 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:37:46,090 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:37:46,090 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-27 11:37:46,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 228 states to 228 states and 264 transitions. [2022-04-27 11:37:46,093 INFO L78 Accepts]: Start accepts. Automaton has 228 states and 264 transitions. Word has length 45 [2022-04-27 11:37:46,094 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:37:46,094 INFO L495 AbstractCegarLoop]: Abstraction has 228 states and 264 transitions. [2022-04-27 11:37:46,094 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:46,094 INFO L276 IsEmpty]: Start isEmpty. Operand 228 states and 264 transitions. [2022-04-27 11:37:46,094 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-27 11:37:46,094 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:37:46,094 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:37:46,111 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-27 11:37:46,295 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable36 [2022-04-27 11:37:46,295 INFO L420 AbstractCegarLoop]: === Iteration 38 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:37:46,295 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:37:46,295 INFO L85 PathProgramCache]: Analyzing trace with hash -1247111507, now seen corresponding path program 28 times [2022-04-27 11:37:46,295 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:37:46,296 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [694654859] [2022-04-27 11:37:46,296 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:37:46,296 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:37:46,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:46,368 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:37:46,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:46,371 INFO L290 TraceCheckUtils]: 0: Hoare triple {31476#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {31435#true} is VALID [2022-04-27 11:37:46,371 INFO L290 TraceCheckUtils]: 1: Hoare triple {31435#true} assume true; {31435#true} is VALID [2022-04-27 11:37:46,371 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31435#true} {31435#true} #117#return; {31435#true} is VALID [2022-04-27 11:37:46,371 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:37:46,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:46,491 INFO L290 TraceCheckUtils]: 0: Hoare triple {31435#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:46,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:46,492 INFO L290 TraceCheckUtils]: 2: Hoare triple {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:46,493 INFO L290 TraceCheckUtils]: 3: Hoare triple {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:46,493 INFO L290 TraceCheckUtils]: 4: Hoare triple {31477#(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; {31478#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:46,493 INFO L290 TraceCheckUtils]: 5: Hoare triple {31478#(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; {31479#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:46,494 INFO L290 TraceCheckUtils]: 6: Hoare triple {31479#(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; {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:46,494 INFO L290 TraceCheckUtils]: 7: Hoare triple {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:46,495 INFO L290 TraceCheckUtils]: 8: Hoare triple {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {31481#(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-27 11:37:46,495 INFO L290 TraceCheckUtils]: 9: Hoare triple {31481#(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; {31482#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-27 11:37:46,496 INFO L290 TraceCheckUtils]: 10: Hoare triple {31482#(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; {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:37:46,496 INFO L290 TraceCheckUtils]: 11: Hoare triple {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:37:46,496 INFO L290 TraceCheckUtils]: 12: Hoare triple {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:37:46,497 INFO L290 TraceCheckUtils]: 13: Hoare triple {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:37:46,497 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {31435#true} #111#return; {31455#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-27 11:37:46,497 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 11:37:46,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:46,656 INFO L290 TraceCheckUtils]: 0: Hoare triple {31435#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:46,656 INFO L290 TraceCheckUtils]: 1: Hoare triple {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:46,657 INFO L290 TraceCheckUtils]: 2: Hoare triple {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:46,657 INFO L290 TraceCheckUtils]: 3: Hoare triple {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:46,658 INFO L290 TraceCheckUtils]: 4: Hoare triple {31485#(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; {31486#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:46,658 INFO L290 TraceCheckUtils]: 5: Hoare triple {31486#(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; {31487#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:46,659 INFO L290 TraceCheckUtils]: 6: Hoare triple {31487#(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; {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:46,659 INFO L290 TraceCheckUtils]: 7: Hoare triple {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:46,659 INFO L290 TraceCheckUtils]: 8: Hoare triple {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {31489#(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-27 11:37:46,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {31489#(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; {31490#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-27 11:37:46,660 INFO L290 TraceCheckUtils]: 10: Hoare triple {31490#(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; {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:37:46,661 INFO L290 TraceCheckUtils]: 11: Hoare triple {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:37:46,661 INFO L290 TraceCheckUtils]: 12: Hoare triple {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:37:46,661 INFO L290 TraceCheckUtils]: 13: Hoare triple {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:37:46,662 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {31456#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {31472#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:37:46,662 INFO L272 TraceCheckUtils]: 0: Hoare triple {31435#true} call ULTIMATE.init(); {31476#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:37:46,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {31476#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {31435#true} is VALID [2022-04-27 11:37:46,663 INFO L290 TraceCheckUtils]: 2: Hoare triple {31435#true} assume true; {31435#true} is VALID [2022-04-27 11:37:46,663 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31435#true} {31435#true} #117#return; {31435#true} is VALID [2022-04-27 11:37:46,663 INFO L272 TraceCheckUtils]: 4: Hoare triple {31435#true} call #t~ret10 := main(); {31435#true} is VALID [2022-04-27 11:37:46,663 INFO L290 TraceCheckUtils]: 5: Hoare triple {31435#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {31435#true} is VALID [2022-04-27 11:37:46,663 INFO L290 TraceCheckUtils]: 6: Hoare triple {31435#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {31435#true} is VALID [2022-04-27 11:37:46,663 INFO L272 TraceCheckUtils]: 7: Hoare triple {31435#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {31435#true} is VALID [2022-04-27 11:37:46,663 INFO L290 TraceCheckUtils]: 8: Hoare triple {31435#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:46,664 INFO L290 TraceCheckUtils]: 9: Hoare triple {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:46,664 INFO L290 TraceCheckUtils]: 10: Hoare triple {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:46,664 INFO L290 TraceCheckUtils]: 11: Hoare triple {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:46,665 INFO L290 TraceCheckUtils]: 12: Hoare triple {31477#(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; {31478#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:46,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {31478#(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; {31479#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:46,666 INFO L290 TraceCheckUtils]: 14: Hoare triple {31479#(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; {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:46,666 INFO L290 TraceCheckUtils]: 15: Hoare triple {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:46,666 INFO L290 TraceCheckUtils]: 16: Hoare triple {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {31481#(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-27 11:37:46,667 INFO L290 TraceCheckUtils]: 17: Hoare triple {31481#(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; {31482#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-27 11:37:46,667 INFO L290 TraceCheckUtils]: 18: Hoare triple {31482#(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; {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:37:46,668 INFO L290 TraceCheckUtils]: 19: Hoare triple {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:37:46,668 INFO L290 TraceCheckUtils]: 20: Hoare triple {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:37:46,668 INFO L290 TraceCheckUtils]: 21: Hoare triple {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:37:46,669 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {31435#true} #111#return; {31455#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-27 11:37:46,669 INFO L290 TraceCheckUtils]: 23: Hoare triple {31455#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {31456#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-27 11:37:46,669 INFO L272 TraceCheckUtils]: 24: Hoare triple {31456#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {31435#true} is VALID [2022-04-27 11:37:46,670 INFO L290 TraceCheckUtils]: 25: Hoare triple {31435#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:46,670 INFO L290 TraceCheckUtils]: 26: Hoare triple {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:46,670 INFO L290 TraceCheckUtils]: 27: Hoare triple {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:46,671 INFO L290 TraceCheckUtils]: 28: Hoare triple {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:46,671 INFO L290 TraceCheckUtils]: 29: Hoare triple {31485#(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; {31486#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:46,671 INFO L290 TraceCheckUtils]: 30: Hoare triple {31486#(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; {31487#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:46,672 INFO L290 TraceCheckUtils]: 31: Hoare triple {31487#(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; {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:46,672 INFO L290 TraceCheckUtils]: 32: Hoare triple {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:46,673 INFO L290 TraceCheckUtils]: 33: Hoare triple {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {31489#(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-27 11:37:46,673 INFO L290 TraceCheckUtils]: 34: Hoare triple {31489#(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; {31490#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-27 11:37:46,674 INFO L290 TraceCheckUtils]: 35: Hoare triple {31490#(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; {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:37:46,674 INFO L290 TraceCheckUtils]: 36: Hoare triple {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:37:46,674 INFO L290 TraceCheckUtils]: 37: Hoare triple {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:37:46,674 INFO L290 TraceCheckUtils]: 38: Hoare triple {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:37:46,675 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {31456#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {31472#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:37:46,676 INFO L290 TraceCheckUtils]: 40: Hoare triple {31472#(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; {31473#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:37:46,676 INFO L272 TraceCheckUtils]: 41: Hoare triple {31473#(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)); {31474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:37:46,677 INFO L290 TraceCheckUtils]: 42: Hoare triple {31474#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {31475#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:37:46,677 INFO L290 TraceCheckUtils]: 43: Hoare triple {31475#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {31436#false} is VALID [2022-04-27 11:37:46,677 INFO L290 TraceCheckUtils]: 44: Hoare triple {31436#false} assume !false; {31436#false} is VALID [2022-04-27 11:37:46,677 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-27 11:37:46,677 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:37:46,677 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [694654859] [2022-04-27 11:37:46,677 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [694654859] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:37:46,677 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [500475230] [2022-04-27 11:37:46,677 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 11:37:46,678 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:46,678 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:37:46,681 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-27 11:37:46,682 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-27 11:37:46,738 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 11:37:46,739 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:37:46,739 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-27 11:37:46,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:46,747 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:37:47,374 INFO L272 TraceCheckUtils]: 0: Hoare triple {31435#true} call ULTIMATE.init(); {31435#true} is VALID [2022-04-27 11:37:47,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {31435#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {31435#true} is VALID [2022-04-27 11:37:47,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {31435#true} assume true; {31435#true} is VALID [2022-04-27 11:37:47,375 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31435#true} {31435#true} #117#return; {31435#true} is VALID [2022-04-27 11:37:47,375 INFO L272 TraceCheckUtils]: 4: Hoare triple {31435#true} call #t~ret10 := main(); {31435#true} is VALID [2022-04-27 11:37:47,375 INFO L290 TraceCheckUtils]: 5: Hoare triple {31435#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {31435#true} is VALID [2022-04-27 11:37:47,375 INFO L290 TraceCheckUtils]: 6: Hoare triple {31435#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {31435#true} is VALID [2022-04-27 11:37:47,375 INFO L272 TraceCheckUtils]: 7: Hoare triple {31435#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {31435#true} is VALID [2022-04-27 11:37:47,375 INFO L290 TraceCheckUtils]: 8: Hoare triple {31435#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:47,376 INFO L290 TraceCheckUtils]: 9: Hoare triple {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:47,376 INFO L290 TraceCheckUtils]: 10: Hoare triple {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:47,376 INFO L290 TraceCheckUtils]: 11: Hoare triple {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:47,376 INFO L290 TraceCheckUtils]: 12: Hoare triple {31477#(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; {31478#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:47,377 INFO L290 TraceCheckUtils]: 13: Hoare triple {31478#(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; {31479#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:47,377 INFO L290 TraceCheckUtils]: 14: Hoare triple {31479#(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; {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:47,378 INFO L290 TraceCheckUtils]: 15: Hoare triple {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:47,378 INFO L290 TraceCheckUtils]: 16: Hoare triple {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {31544#(and (<= 3 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:47,378 INFO L290 TraceCheckUtils]: 17: Hoare triple {31544#(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; {31548#(and (<= 3 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:47,378 INFO L290 TraceCheckUtils]: 18: Hoare triple {31548#(and (<= 3 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0) (<= correct_version_~j~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:37:47,379 INFO L290 TraceCheckUtils]: 19: Hoare triple {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:37:47,379 INFO L290 TraceCheckUtils]: 20: Hoare triple {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:37:47,379 INFO L290 TraceCheckUtils]: 21: Hoare triple {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:37:47,380 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {31435#true} #111#return; {31455#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-27 11:37:47,380 INFO L290 TraceCheckUtils]: 23: Hoare triple {31455#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {31456#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-27 11:37:47,380 INFO L272 TraceCheckUtils]: 24: Hoare triple {31456#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {31435#true} is VALID [2022-04-27 11:37:47,380 INFO L290 TraceCheckUtils]: 25: Hoare triple {31435#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:47,381 INFO L290 TraceCheckUtils]: 26: Hoare triple {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:47,381 INFO L290 TraceCheckUtils]: 27: Hoare triple {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:47,381 INFO L290 TraceCheckUtils]: 28: Hoare triple {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:47,381 INFO L290 TraceCheckUtils]: 29: Hoare triple {31485#(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; {31486#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:47,382 INFO L290 TraceCheckUtils]: 30: Hoare triple {31486#(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; {31487#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:47,382 INFO L290 TraceCheckUtils]: 31: Hoare triple {31487#(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; {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:47,382 INFO L290 TraceCheckUtils]: 32: Hoare triple {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:47,383 INFO L290 TraceCheckUtils]: 33: Hoare triple {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {31597#(and (= student_version_~y~1 0) (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:47,383 INFO L290 TraceCheckUtils]: 34: Hoare triple {31597#(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; {31601#(and (<= student_version_~j~1 3) (= student_version_~j~1 student_version_~y~1) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:47,383 INFO L290 TraceCheckUtils]: 35: Hoare triple {31601#(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; {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:37:47,384 INFO L290 TraceCheckUtils]: 36: Hoare triple {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:37:47,384 INFO L290 TraceCheckUtils]: 37: Hoare triple {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:37:47,384 INFO L290 TraceCheckUtils]: 38: Hoare triple {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:37:47,384 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {31456#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {31617#(and (<= 6 |main_#t~ret9|) (<= 6 main_~n_stones1~0) (<= |main_#t~ret9| 6) (<= main_~n_stones1~0 6))} is VALID [2022-04-27 11:37:47,385 INFO L290 TraceCheckUtils]: 40: Hoare triple {31617#(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; {31621#(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-27 11:37:47,385 INFO L272 TraceCheckUtils]: 41: Hoare triple {31621#(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)); {31625#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:37:47,385 INFO L290 TraceCheckUtils]: 42: Hoare triple {31625#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {31629#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:37:47,386 INFO L290 TraceCheckUtils]: 43: Hoare triple {31629#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31436#false} is VALID [2022-04-27 11:37:47,386 INFO L290 TraceCheckUtils]: 44: Hoare triple {31436#false} assume !false; {31436#false} is VALID [2022-04-27 11:37:47,386 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-27 11:37:47,386 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:37:47,721 INFO L290 TraceCheckUtils]: 44: Hoare triple {31436#false} assume !false; {31436#false} is VALID [2022-04-27 11:37:47,721 INFO L290 TraceCheckUtils]: 43: Hoare triple {31629#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31436#false} is VALID [2022-04-27 11:37:47,722 INFO L290 TraceCheckUtils]: 42: Hoare triple {31625#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {31629#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:37:47,722 INFO L272 TraceCheckUtils]: 41: Hoare triple {31473#(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)); {31625#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:37:47,723 INFO L290 TraceCheckUtils]: 40: Hoare triple {31472#(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; {31473#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:37:47,724 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {31456#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {31472#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:37:47,724 INFO L290 TraceCheckUtils]: 38: Hoare triple {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:37:47,724 INFO L290 TraceCheckUtils]: 37: Hoare triple {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {31492#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:37:47,725 INFO L290 TraceCheckUtils]: 36: Hoare triple {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:37:47,725 INFO L290 TraceCheckUtils]: 35: Hoare triple {31490#(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; {31491#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:37:47,725 INFO L290 TraceCheckUtils]: 34: Hoare triple {31489#(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; {31490#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-27 11:37:47,726 INFO L290 TraceCheckUtils]: 33: Hoare triple {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {31489#(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-27 11:37:47,726 INFO L290 TraceCheckUtils]: 32: Hoare triple {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:47,727 INFO L290 TraceCheckUtils]: 31: Hoare triple {31487#(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; {31488#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:37:47,727 INFO L290 TraceCheckUtils]: 30: Hoare triple {31486#(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; {31487#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:37:47,727 INFO L290 TraceCheckUtils]: 29: Hoare triple {31485#(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; {31486#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:47,728 INFO L290 TraceCheckUtils]: 28: Hoare triple {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:47,728 INFO L290 TraceCheckUtils]: 27: Hoare triple {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:47,728 INFO L290 TraceCheckUtils]: 26: Hoare triple {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:47,729 INFO L290 TraceCheckUtils]: 25: Hoare triple {31435#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {31485#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:47,729 INFO L272 TraceCheckUtils]: 24: Hoare triple {31456#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {31435#true} is VALID [2022-04-27 11:37:47,729 INFO L290 TraceCheckUtils]: 23: Hoare triple {31455#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {31456#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-27 11:37:47,730 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {31435#true} #111#return; {31455#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-27 11:37:47,730 INFO L290 TraceCheckUtils]: 21: Hoare triple {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:37:47,730 INFO L290 TraceCheckUtils]: 20: Hoare triple {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {31484#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:37:47,731 INFO L290 TraceCheckUtils]: 19: Hoare triple {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:37:47,731 INFO L290 TraceCheckUtils]: 18: Hoare triple {31482#(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; {31483#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:37:47,732 INFO L290 TraceCheckUtils]: 17: Hoare triple {31481#(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; {31482#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-27 11:37:47,732 INFO L290 TraceCheckUtils]: 16: Hoare triple {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {31481#(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-27 11:37:47,732 INFO L290 TraceCheckUtils]: 15: Hoare triple {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:47,733 INFO L290 TraceCheckUtils]: 14: Hoare triple {31479#(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; {31480#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:37:47,733 INFO L290 TraceCheckUtils]: 13: Hoare triple {31478#(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; {31479#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:37:47,734 INFO L290 TraceCheckUtils]: 12: Hoare triple {31477#(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; {31478#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:47,734 INFO L290 TraceCheckUtils]: 11: Hoare triple {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:47,734 INFO L290 TraceCheckUtils]: 10: Hoare triple {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:47,735 INFO L290 TraceCheckUtils]: 9: Hoare triple {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:47,735 INFO L290 TraceCheckUtils]: 8: Hoare triple {31435#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {31477#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:47,735 INFO L272 TraceCheckUtils]: 7: Hoare triple {31435#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {31435#true} is VALID [2022-04-27 11:37:47,735 INFO L290 TraceCheckUtils]: 6: Hoare triple {31435#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {31435#true} is VALID [2022-04-27 11:37:47,735 INFO L290 TraceCheckUtils]: 5: Hoare triple {31435#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {31435#true} is VALID [2022-04-27 11:37:47,735 INFO L272 TraceCheckUtils]: 4: Hoare triple {31435#true} call #t~ret10 := main(); {31435#true} is VALID [2022-04-27 11:37:47,735 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31435#true} {31435#true} #117#return; {31435#true} is VALID [2022-04-27 11:37:47,735 INFO L290 TraceCheckUtils]: 2: Hoare triple {31435#true} assume true; {31435#true} is VALID [2022-04-27 11:37:47,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {31435#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {31435#true} is VALID [2022-04-27 11:37:47,736 INFO L272 TraceCheckUtils]: 0: Hoare triple {31435#true} call ULTIMATE.init(); {31435#true} is VALID [2022-04-27 11:37:47,736 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-27 11:37:47,737 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [500475230] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:37:47,737 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:37:47,737 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 33 [2022-04-27 11:37:47,737 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [769282413] [2022-04-27 11:37:47,737 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:37:47,738 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 45 [2022-04-27 11:37:47,738 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:37:47,738 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:47,773 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-27 11:37:47,773 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-27 11:37:47,773 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:37:47,773 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-27 11:37:47,773 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=979, Unknown=0, NotChecked=0, Total=1056 [2022-04-27 11:37:47,774 INFO L87 Difference]: Start difference. First operand 228 states and 264 transitions. Second operand has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:50,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:50,372 INFO L93 Difference]: Finished difference Result 234 states and 269 transitions. [2022-04-27 11:37:50,372 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-27 11:37:50,372 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 45 [2022-04-27 11:37:50,372 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:37:50,373 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:50,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 108 transitions. [2022-04-27 11:37:50,373 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:50,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 108 transitions. [2022-04-27 11:37:50,374 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 108 transitions. [2022-04-27 11:37:50,456 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-27 11:37:50,459 INFO L225 Difference]: With dead ends: 234 [2022-04-27 11:37:50,459 INFO L226 Difference]: Without dead ends: 212 [2022-04-27 11:37:50,460 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 141 GetRequests, 78 SyntacticMatches, 9 SemanticMatches, 54 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 476 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=207, Invalid=2873, Unknown=0, NotChecked=0, Total=3080 [2022-04-27 11:37:50,461 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 96 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 1823 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 98 SdHoareTripleChecker+Valid, 171 SdHoareTripleChecker+Invalid, 1850 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 1823 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-27 11:37:50,461 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [98 Valid, 171 Invalid, 1850 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 1823 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-27 11:37:50,461 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-27 11:37:51,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-27 11:37:51,152 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:37:51,152 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-27 11:37:51,152 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-27 11:37:51,152 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-27 11:37:51,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:51,155 INFO L93 Difference]: Finished difference Result 212 states and 246 transitions. [2022-04-27 11:37:51,155 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 246 transitions. [2022-04-27 11:37:51,155 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:51,155 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:51,155 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-27 11:37:51,155 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-27 11:37:51,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:51,159 INFO L93 Difference]: Finished difference Result 212 states and 246 transitions. [2022-04-27 11:37:51,159 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 246 transitions. [2022-04-27 11:37:51,160 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:51,160 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:51,160 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:37:51,160 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:37:51,160 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-27 11:37:51,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 246 transitions. [2022-04-27 11:37:51,168 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 246 transitions. Word has length 45 [2022-04-27 11:37:51,169 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:37:51,169 INFO L495 AbstractCegarLoop]: Abstraction has 212 states and 246 transitions. [2022-04-27 11:37:51,169 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:51,169 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 246 transitions. [2022-04-27 11:37:51,183 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-27 11:37:51,183 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:37:51,183 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:37:51,200 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-27 11:37:51,383 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable37,29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:51,384 INFO L420 AbstractCegarLoop]: === Iteration 39 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:37:51,384 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:37:51,384 INFO L85 PathProgramCache]: Analyzing trace with hash 1602219117, now seen corresponding path program 29 times [2022-04-27 11:37:51,384 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:37:51,384 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1391363982] [2022-04-27 11:37:51,384 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:37:51,384 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:37:51,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:51,470 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:37:51,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:51,473 INFO L290 TraceCheckUtils]: 0: Hoare triple {32909#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {32868#true} is VALID [2022-04-27 11:37:51,473 INFO L290 TraceCheckUtils]: 1: Hoare triple {32868#true} assume true; {32868#true} is VALID [2022-04-27 11:37:51,473 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {32868#true} {32868#true} #117#return; {32868#true} is VALID [2022-04-27 11:37:51,473 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:37:51,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:51,578 INFO L290 TraceCheckUtils]: 0: Hoare triple {32868#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:51,578 INFO L290 TraceCheckUtils]: 1: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:51,579 INFO L290 TraceCheckUtils]: 2: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:51,579 INFO L290 TraceCheckUtils]: 3: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:51,579 INFO L290 TraceCheckUtils]: 4: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:51,580 INFO L290 TraceCheckUtils]: 5: Hoare triple {32910#(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; {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:51,580 INFO L290 TraceCheckUtils]: 6: Hoare triple {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:51,580 INFO L290 TraceCheckUtils]: 7: Hoare triple {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {32912#(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-27 11:37:51,581 INFO L290 TraceCheckUtils]: 8: Hoare triple {32912#(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; {32913#(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-27 11:37:51,581 INFO L290 TraceCheckUtils]: 9: Hoare triple {32913#(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; {32914#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} is VALID [2022-04-27 11:37:51,582 INFO L290 TraceCheckUtils]: 10: Hoare triple {32914#(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; {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:37:51,582 INFO L290 TraceCheckUtils]: 11: Hoare triple {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:37:51,583 INFO L290 TraceCheckUtils]: 12: Hoare triple {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:37:51,583 INFO L290 TraceCheckUtils]: 13: Hoare triple {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:37:51,584 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {32868#true} #111#return; {32888#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-27 11:37:51,584 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 11:37:51,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:51,719 INFO L290 TraceCheckUtils]: 0: Hoare triple {32868#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:51,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:51,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:51,720 INFO L290 TraceCheckUtils]: 3: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:51,720 INFO L290 TraceCheckUtils]: 4: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:51,721 INFO L290 TraceCheckUtils]: 5: Hoare triple {32917#(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; {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:51,721 INFO L290 TraceCheckUtils]: 6: Hoare triple {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:51,722 INFO L290 TraceCheckUtils]: 7: Hoare triple {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {32919#(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-27 11:37:51,722 INFO L290 TraceCheckUtils]: 8: Hoare triple {32919#(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; {32920#(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-27 11:37:51,723 INFO L290 TraceCheckUtils]: 9: Hoare triple {32920#(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; {32921#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} is VALID [2022-04-27 11:37:51,723 INFO L290 TraceCheckUtils]: 10: Hoare triple {32921#(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; {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:37:51,723 INFO L290 TraceCheckUtils]: 11: Hoare triple {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:37:51,724 INFO L290 TraceCheckUtils]: 12: Hoare triple {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:37:51,724 INFO L290 TraceCheckUtils]: 13: Hoare triple {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:37:51,725 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {32889#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {32905#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:37:51,726 INFO L272 TraceCheckUtils]: 0: Hoare triple {32868#true} call ULTIMATE.init(); {32909#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:37:51,726 INFO L290 TraceCheckUtils]: 1: Hoare triple {32909#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {32868#true} is VALID [2022-04-27 11:37:51,726 INFO L290 TraceCheckUtils]: 2: Hoare triple {32868#true} assume true; {32868#true} is VALID [2022-04-27 11:37:51,726 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32868#true} {32868#true} #117#return; {32868#true} is VALID [2022-04-27 11:37:51,726 INFO L272 TraceCheckUtils]: 4: Hoare triple {32868#true} call #t~ret10 := main(); {32868#true} is VALID [2022-04-27 11:37:51,726 INFO L290 TraceCheckUtils]: 5: Hoare triple {32868#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {32868#true} is VALID [2022-04-27 11:37:51,726 INFO L290 TraceCheckUtils]: 6: Hoare triple {32868#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {32868#true} is VALID [2022-04-27 11:37:51,726 INFO L272 TraceCheckUtils]: 7: Hoare triple {32868#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {32868#true} is VALID [2022-04-27 11:37:51,726 INFO L290 TraceCheckUtils]: 8: Hoare triple {32868#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:51,727 INFO L290 TraceCheckUtils]: 9: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:51,727 INFO L290 TraceCheckUtils]: 10: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:51,727 INFO L290 TraceCheckUtils]: 11: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:51,728 INFO L290 TraceCheckUtils]: 12: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:51,728 INFO L290 TraceCheckUtils]: 13: Hoare triple {32910#(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; {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:51,729 INFO L290 TraceCheckUtils]: 14: Hoare triple {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:51,729 INFO L290 TraceCheckUtils]: 15: Hoare triple {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {32912#(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-27 11:37:51,729 INFO L290 TraceCheckUtils]: 16: Hoare triple {32912#(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; {32913#(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-27 11:37:51,730 INFO L290 TraceCheckUtils]: 17: Hoare triple {32913#(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; {32914#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} is VALID [2022-04-27 11:37:51,730 INFO L290 TraceCheckUtils]: 18: Hoare triple {32914#(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; {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:37:51,731 INFO L290 TraceCheckUtils]: 19: Hoare triple {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:37:51,731 INFO L290 TraceCheckUtils]: 20: Hoare triple {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:37:51,731 INFO L290 TraceCheckUtils]: 21: Hoare triple {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:37:51,732 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {32868#true} #111#return; {32888#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-27 11:37:51,732 INFO L290 TraceCheckUtils]: 23: Hoare triple {32888#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {32889#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} is VALID [2022-04-27 11:37:51,732 INFO L272 TraceCheckUtils]: 24: Hoare triple {32889#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {32868#true} is VALID [2022-04-27 11:37:51,733 INFO L290 TraceCheckUtils]: 25: Hoare triple {32868#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:51,733 INFO L290 TraceCheckUtils]: 26: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:51,733 INFO L290 TraceCheckUtils]: 27: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:51,734 INFO L290 TraceCheckUtils]: 28: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:51,734 INFO L290 TraceCheckUtils]: 29: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:51,735 INFO L290 TraceCheckUtils]: 30: Hoare triple {32917#(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; {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:51,735 INFO L290 TraceCheckUtils]: 31: Hoare triple {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:51,735 INFO L290 TraceCheckUtils]: 32: Hoare triple {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {32919#(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-27 11:37:51,736 INFO L290 TraceCheckUtils]: 33: Hoare triple {32919#(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; {32920#(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-27 11:37:51,736 INFO L290 TraceCheckUtils]: 34: Hoare triple {32920#(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; {32921#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} is VALID [2022-04-27 11:37:51,737 INFO L290 TraceCheckUtils]: 35: Hoare triple {32921#(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; {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:37:51,737 INFO L290 TraceCheckUtils]: 36: Hoare triple {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:37:51,737 INFO L290 TraceCheckUtils]: 37: Hoare triple {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:37:51,738 INFO L290 TraceCheckUtils]: 38: Hoare triple {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:37:51,738 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {32889#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {32905#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:37:51,739 INFO L290 TraceCheckUtils]: 40: Hoare triple {32905#(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; {32906#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:37:51,740 INFO L272 TraceCheckUtils]: 41: Hoare triple {32906#(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)); {32907#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:37:51,740 INFO L290 TraceCheckUtils]: 42: Hoare triple {32907#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {32908#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:37:51,740 INFO L290 TraceCheckUtils]: 43: Hoare triple {32908#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {32869#false} is VALID [2022-04-27 11:37:51,740 INFO L290 TraceCheckUtils]: 44: Hoare triple {32869#false} assume !false; {32869#false} is VALID [2022-04-27 11:37:51,740 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-27 11:37:51,740 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:37:51,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1391363982] [2022-04-27 11:37:51,741 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1391363982] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:37:51,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1556021749] [2022-04-27 11:37:51,741 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 11:37:51,741 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:51,741 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:37:51,742 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-27 11:37:51,743 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-27 11:37:51,799 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 3 check-sat command(s) [2022-04-27 11:37:51,799 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:37:51,800 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-27 11:37:51,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:51,808 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:37:52,428 INFO L272 TraceCheckUtils]: 0: Hoare triple {32868#true} call ULTIMATE.init(); {32868#true} is VALID [2022-04-27 11:37:52,428 INFO L290 TraceCheckUtils]: 1: Hoare triple {32868#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {32868#true} is VALID [2022-04-27 11:37:52,428 INFO L290 TraceCheckUtils]: 2: Hoare triple {32868#true} assume true; {32868#true} is VALID [2022-04-27 11:37:52,428 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32868#true} {32868#true} #117#return; {32868#true} is VALID [2022-04-27 11:37:52,428 INFO L272 TraceCheckUtils]: 4: Hoare triple {32868#true} call #t~ret10 := main(); {32868#true} is VALID [2022-04-27 11:37:52,429 INFO L290 TraceCheckUtils]: 5: Hoare triple {32868#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {32868#true} is VALID [2022-04-27 11:37:52,429 INFO L290 TraceCheckUtils]: 6: Hoare triple {32868#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {32868#true} is VALID [2022-04-27 11:37:52,429 INFO L272 TraceCheckUtils]: 7: Hoare triple {32868#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {32868#true} is VALID [2022-04-27 11:37:52,429 INFO L290 TraceCheckUtils]: 8: Hoare triple {32868#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:52,429 INFO L290 TraceCheckUtils]: 9: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:52,430 INFO L290 TraceCheckUtils]: 10: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:52,430 INFO L290 TraceCheckUtils]: 11: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:52,430 INFO L290 TraceCheckUtils]: 12: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:52,431 INFO L290 TraceCheckUtils]: 13: Hoare triple {32910#(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; {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:52,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:52,431 INFO L290 TraceCheckUtils]: 15: Hoare triple {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {32972#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:52,432 INFO L290 TraceCheckUtils]: 16: Hoare triple {32972#(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; {32976#(and (<= 1 correct_version_~j~0) (= correct_version_~j~0 correct_version_~y~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:52,432 INFO L290 TraceCheckUtils]: 17: Hoare triple {32976#(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; {32980#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:52,433 INFO L290 TraceCheckUtils]: 18: Hoare triple {32980#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)) (<= correct_version_~j~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:37:52,433 INFO L290 TraceCheckUtils]: 19: Hoare triple {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:37:52,433 INFO L290 TraceCheckUtils]: 20: Hoare triple {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:37:52,434 INFO L290 TraceCheckUtils]: 21: Hoare triple {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:37:52,434 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {32868#true} #111#return; {32888#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-27 11:37:52,435 INFO L290 TraceCheckUtils]: 23: Hoare triple {32888#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {32889#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} is VALID [2022-04-27 11:37:52,435 INFO L272 TraceCheckUtils]: 24: Hoare triple {32889#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {32868#true} is VALID [2022-04-27 11:37:52,435 INFO L290 TraceCheckUtils]: 25: Hoare triple {32868#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:52,436 INFO L290 TraceCheckUtils]: 26: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:52,436 INFO L290 TraceCheckUtils]: 27: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:52,436 INFO L290 TraceCheckUtils]: 28: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:52,437 INFO L290 TraceCheckUtils]: 29: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:52,437 INFO L290 TraceCheckUtils]: 30: Hoare triple {32917#(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; {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:52,437 INFO L290 TraceCheckUtils]: 31: Hoare triple {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:52,438 INFO L290 TraceCheckUtils]: 32: Hoare triple {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {33026#(and (= student_version_~y~1 0) (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:52,438 INFO L290 TraceCheckUtils]: 33: Hoare triple {33026#(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; {33030#(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-27 11:37:52,439 INFO L290 TraceCheckUtils]: 34: Hoare triple {33030#(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; {33034#(and (<= student_version_~j~1 1) (= (+ student_version_~y~1 (* (- 2) student_version_~j~1)) 0) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:52,439 INFO L290 TraceCheckUtils]: 35: Hoare triple {33034#(and (<= student_version_~j~1 1) (= (+ student_version_~y~1 (* (- 2) student_version_~j~1)) 0) (<= 1 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:37:52,439 INFO L290 TraceCheckUtils]: 36: Hoare triple {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:37:52,440 INFO L290 TraceCheckUtils]: 37: Hoare triple {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:37:52,440 INFO L290 TraceCheckUtils]: 38: Hoare triple {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:37:52,441 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {32889#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {33050#(and (<= 3 main_~n_stones1~0) (<= |main_#t~ret9| 3) (<= main_~n_stones1~0 3) (<= 3 |main_#t~ret9|))} is VALID [2022-04-27 11:37:52,441 INFO L290 TraceCheckUtils]: 40: Hoare triple {33050#(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; {33054#(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-27 11:37:52,442 INFO L272 TraceCheckUtils]: 41: Hoare triple {33054#(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)); {33058#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:37:52,442 INFO L290 TraceCheckUtils]: 42: Hoare triple {33058#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {33062#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:37:52,442 INFO L290 TraceCheckUtils]: 43: Hoare triple {33062#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32869#false} is VALID [2022-04-27 11:37:52,442 INFO L290 TraceCheckUtils]: 44: Hoare triple {32869#false} assume !false; {32869#false} is VALID [2022-04-27 11:37:52,443 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-27 11:37:52,443 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:37:52,855 INFO L290 TraceCheckUtils]: 44: Hoare triple {32869#false} assume !false; {32869#false} is VALID [2022-04-27 11:37:52,855 INFO L290 TraceCheckUtils]: 43: Hoare triple {33062#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32869#false} is VALID [2022-04-27 11:37:52,856 INFO L290 TraceCheckUtils]: 42: Hoare triple {33058#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {33062#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:37:52,856 INFO L272 TraceCheckUtils]: 41: Hoare triple {32906#(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)); {33058#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:37:52,857 INFO L290 TraceCheckUtils]: 40: Hoare triple {32905#(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; {32906#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:37:52,858 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} {32889#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} #113#return; {32905#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:37:52,858 INFO L290 TraceCheckUtils]: 38: Hoare triple {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} assume true; {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:37:52,858 INFO L290 TraceCheckUtils]: 37: Hoare triple {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} #res := ~y~1; {32923#(and (<= 3 |student_version_#res|) (<= |student_version_#res| 3))} is VALID [2022-04-27 11:37:52,859 INFO L290 TraceCheckUtils]: 36: Hoare triple {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} assume !(~x~1 < ~i~1); {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:37:52,859 INFO L290 TraceCheckUtils]: 35: Hoare triple {32921#(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; {32922#(and (<= 3 student_version_~y~1) (<= student_version_~y~1 3))} is VALID [2022-04-27 11:37:52,860 INFO L290 TraceCheckUtils]: 34: Hoare triple {32920#(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; {32921#(and (<= 3 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 3))} is VALID [2022-04-27 11:37:52,860 INFO L290 TraceCheckUtils]: 33: Hoare triple {32919#(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; {32920#(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-27 11:37:52,861 INFO L290 TraceCheckUtils]: 32: Hoare triple {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {32919#(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-27 11:37:52,861 INFO L290 TraceCheckUtils]: 31: Hoare triple {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:52,861 INFO L290 TraceCheckUtils]: 30: Hoare triple {32917#(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; {32918#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:37:52,862 INFO L290 TraceCheckUtils]: 29: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:52,862 INFO L290 TraceCheckUtils]: 28: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:52,862 INFO L290 TraceCheckUtils]: 27: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:52,863 INFO L290 TraceCheckUtils]: 26: Hoare triple {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:52,863 INFO L290 TraceCheckUtils]: 25: Hoare triple {32868#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {32917#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:37:52,863 INFO L272 TraceCheckUtils]: 24: Hoare triple {32889#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {32868#true} is VALID [2022-04-27 11:37:52,864 INFO L290 TraceCheckUtils]: 23: Hoare triple {32888#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {32889#(and (<= 3 main_~n_stones1~0) (<= main_~n_stones1~0 3))} is VALID [2022-04-27 11:37:52,864 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} {32868#true} #111#return; {32888#(and (<= |main_#t~ret8| 3) (<= 3 |main_#t~ret8|))} is VALID [2022-04-27 11:37:52,865 INFO L290 TraceCheckUtils]: 21: Hoare triple {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} assume true; {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:37:52,865 INFO L290 TraceCheckUtils]: 20: Hoare triple {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} #res := ~y~0; {32916#(and (<= |correct_version_#res| 3) (<= 3 |correct_version_#res|))} is VALID [2022-04-27 11:37:52,865 INFO L290 TraceCheckUtils]: 19: Hoare triple {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} assume !(~x~0 < ~i~0); {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:37:52,866 INFO L290 TraceCheckUtils]: 18: Hoare triple {32914#(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; {32915#(and (<= 3 correct_version_~y~0) (<= correct_version_~y~0 3))} is VALID [2022-04-27 11:37:52,866 INFO L290 TraceCheckUtils]: 17: Hoare triple {32913#(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; {32914#(and (<= 3 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 3))} is VALID [2022-04-27 11:37:52,867 INFO L290 TraceCheckUtils]: 16: Hoare triple {32912#(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; {32913#(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-27 11:37:52,867 INFO L290 TraceCheckUtils]: 15: Hoare triple {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {32912#(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-27 11:37:52,867 INFO L290 TraceCheckUtils]: 14: Hoare triple {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:52,868 INFO L290 TraceCheckUtils]: 13: Hoare triple {32910#(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; {32911#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:37:52,868 INFO L290 TraceCheckUtils]: 12: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:52,869 INFO L290 TraceCheckUtils]: 11: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:52,869 INFO L290 TraceCheckUtils]: 10: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:52,869 INFO L290 TraceCheckUtils]: 9: Hoare triple {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:52,870 INFO L290 TraceCheckUtils]: 8: Hoare triple {32868#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {32910#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:37:52,870 INFO L272 TraceCheckUtils]: 7: Hoare triple {32868#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {32868#true} is VALID [2022-04-27 11:37:52,870 INFO L290 TraceCheckUtils]: 6: Hoare triple {32868#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {32868#true} is VALID [2022-04-27 11:37:52,870 INFO L290 TraceCheckUtils]: 5: Hoare triple {32868#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {32868#true} is VALID [2022-04-27 11:37:52,870 INFO L272 TraceCheckUtils]: 4: Hoare triple {32868#true} call #t~ret10 := main(); {32868#true} is VALID [2022-04-27 11:37:52,870 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32868#true} {32868#true} #117#return; {32868#true} is VALID [2022-04-27 11:37:52,870 INFO L290 TraceCheckUtils]: 2: Hoare triple {32868#true} assume true; {32868#true} is VALID [2022-04-27 11:37:52,870 INFO L290 TraceCheckUtils]: 1: Hoare triple {32868#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {32868#true} is VALID [2022-04-27 11:37:52,870 INFO L272 TraceCheckUtils]: 0: Hoare triple {32868#true} call ULTIMATE.init(); {32868#true} is VALID [2022-04-27 11:37:52,870 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-27 11:37:52,870 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1556021749] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:37:52,871 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:37:52,871 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 22, 22] total 33 [2022-04-27 11:37:52,871 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [885331505] [2022-04-27 11:37:52,871 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:37:52,871 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 45 [2022-04-27 11:37:52,871 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:37:52,871 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:52,918 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-27 11:37:52,919 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-27 11:37:52,919 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:37:52,919 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-27 11:37:52,920 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=975, Unknown=0, NotChecked=0, Total=1056 [2022-04-27 11:37:52,920 INFO L87 Difference]: Start difference. First operand 212 states and 246 transitions. Second operand has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:55,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:55,452 INFO L93 Difference]: Finished difference Result 230 states and 267 transitions. [2022-04-27 11:37:55,452 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-27 11:37:55,452 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 45 [2022-04-27 11:37:55,452 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:37:55,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:55,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 82 transitions. [2022-04-27 11:37:55,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:55,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 82 transitions. [2022-04-27 11:37:55,459 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 82 transitions. [2022-04-27 11:37:55,497 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-27 11:37:55,500 INFO L225 Difference]: With dead ends: 230 [2022-04-27 11:37:55,500 INFO L226 Difference]: Without dead ends: 224 [2022-04-27 11:37:55,501 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 76 SyntacticMatches, 9 SemanticMatches, 52 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 481 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=209, Invalid=2653, Unknown=0, NotChecked=0, Total=2862 [2022-04-27 11:37:55,502 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 60 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 1198 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 1229 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 1198 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 11:37:55,502 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [61 Valid, 158 Invalid, 1229 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 1198 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-27 11:37:55,502 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-27 11:37:56,398 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 222. [2022-04-27 11:37:56,398 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:37:56,399 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-27 11:37:56,399 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-27 11:37:56,399 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-27 11:37:56,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:56,402 INFO L93 Difference]: Finished difference Result 224 states and 261 transitions. [2022-04-27 11:37:56,402 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 261 transitions. [2022-04-27 11:37:56,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:56,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:56,402 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-27 11:37:56,402 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-27 11:37:56,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:37:56,405 INFO L93 Difference]: Finished difference Result 224 states and 261 transitions. [2022-04-27 11:37:56,405 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 261 transitions. [2022-04-27 11:37:56,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:37:56,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:37:56,406 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:37:56,406 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:37:56,406 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-27 11:37:56,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 259 transitions. [2022-04-27 11:37:56,409 INFO L78 Accepts]: Start accepts. Automaton has 222 states and 259 transitions. Word has length 45 [2022-04-27 11:37:56,409 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:37:56,409 INFO L495 AbstractCegarLoop]: Abstraction has 222 states and 259 transitions. [2022-04-27 11:37:56,409 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 30 states have (on average 1.5) internal successors, (45), 27 states have internal predecessors, (45), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:37:56,409 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 259 transitions. [2022-04-27 11:37:56,410 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-27 11:37:56,410 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:37:56,410 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:37:56,443 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Forceful destruction successful, exit code 0 [2022-04-27 11:37:56,646 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable38 [2022-04-27 11:37:56,646 INFO L420 AbstractCegarLoop]: === Iteration 40 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:37:56,646 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:37:56,646 INFO L85 PathProgramCache]: Analyzing trace with hash 215774988, now seen corresponding path program 30 times [2022-04-27 11:37:56,646 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:37:56,646 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1737731995] [2022-04-27 11:37:56,646 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:37:56,647 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:37:56,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:56,672 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:37:56,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:56,674 INFO L290 TraceCheckUtils]: 0: Hoare triple {34364#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {34327#true} is VALID [2022-04-27 11:37:56,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {34327#true} assume true; {34327#true} is VALID [2022-04-27 11:37:56,674 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {34327#true} {34327#true} #117#return; {34327#true} is VALID [2022-04-27 11:37:56,674 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:37:56,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:56,760 INFO L290 TraceCheckUtils]: 0: Hoare triple {34327#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {34365#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:37:56,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {34365#(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; {34365#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:37:56,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {34365#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {34365#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:37:56,761 INFO L290 TraceCheckUtils]: 3: Hoare triple {34365#(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; {34366#(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-27 11:37:56,762 INFO L290 TraceCheckUtils]: 4: Hoare triple {34366#(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; {34367#(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-27 11:37:56,762 INFO L290 TraceCheckUtils]: 5: Hoare triple {34367#(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; {34368#(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-27 11:37:56,763 INFO L290 TraceCheckUtils]: 6: Hoare triple {34368#(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; {34369#(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-27 11:37:56,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {34369#(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; {34370#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 5 |correct_version_#in~a|)))} is VALID [2022-04-27 11:37:56,768 INFO L290 TraceCheckUtils]: 8: Hoare triple {34370#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 5 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:56,768 INFO L290 TraceCheckUtils]: 9: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:56,768 INFO L290 TraceCheckUtils]: 10: Hoare triple {34371#(<= |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; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:56,769 INFO L290 TraceCheckUtils]: 11: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:56,769 INFO L290 TraceCheckUtils]: 12: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} #res := ~y~0; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:56,769 INFO L290 TraceCheckUtils]: 13: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume true; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:56,770 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} {34327#true} #111#return; {34347#(<= main_~m~0 (* 5 main_~a~0))} is VALID [2022-04-27 11:37:56,770 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 11:37:56,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:56,908 INFO L290 TraceCheckUtils]: 0: Hoare triple {34327#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {34372#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:37:56,908 INFO L290 TraceCheckUtils]: 1: Hoare triple {34372#(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; {34372#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:37:56,908 INFO L290 TraceCheckUtils]: 2: Hoare triple {34372#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {34372#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:37:56,909 INFO L290 TraceCheckUtils]: 3: Hoare triple {34372#(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; {34373#(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-27 11:37:56,909 INFO L290 TraceCheckUtils]: 4: Hoare triple {34373#(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; {34374#(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-27 11:37:56,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {34374#(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; {34375#(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-27 11:37:56,910 INFO L290 TraceCheckUtils]: 6: Hoare triple {34375#(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; {34376#(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-27 11:37:56,911 INFO L290 TraceCheckUtils]: 7: Hoare triple {34376#(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; {34377#(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-27 11:37:56,912 INFO L290 TraceCheckUtils]: 8: Hoare triple {34377#(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; {34378#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* 5 |student_version_#in~a|) 1) student_version_~m))} is VALID [2022-04-27 11:37:56,912 INFO L290 TraceCheckUtils]: 9: Hoare triple {34378#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* 5 |student_version_#in~a|) 1) student_version_~m))} assume !(~l~1 < ~m); {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:56,912 INFO L290 TraceCheckUtils]: 10: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:56,912 INFO L290 TraceCheckUtils]: 11: Hoare triple {34379#(<= (+ (* 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; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:56,913 INFO L290 TraceCheckUtils]: 12: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:56,913 INFO L290 TraceCheckUtils]: 13: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:56,913 INFO L290 TraceCheckUtils]: 14: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:56,914 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} {34347#(<= main_~m~0 (* 5 main_~a~0))} #113#return; {34328#false} is VALID [2022-04-27 11:37:56,914 INFO L272 TraceCheckUtils]: 0: Hoare triple {34327#true} call ULTIMATE.init(); {34364#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:37:56,915 INFO L290 TraceCheckUtils]: 1: Hoare triple {34364#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {34327#true} is VALID [2022-04-27 11:37:56,915 INFO L290 TraceCheckUtils]: 2: Hoare triple {34327#true} assume true; {34327#true} is VALID [2022-04-27 11:37:56,915 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34327#true} {34327#true} #117#return; {34327#true} is VALID [2022-04-27 11:37:56,915 INFO L272 TraceCheckUtils]: 4: Hoare triple {34327#true} call #t~ret10 := main(); {34327#true} is VALID [2022-04-27 11:37:56,915 INFO L290 TraceCheckUtils]: 5: Hoare triple {34327#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {34327#true} is VALID [2022-04-27 11:37:56,915 INFO L290 TraceCheckUtils]: 6: Hoare triple {34327#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {34327#true} is VALID [2022-04-27 11:37:56,915 INFO L272 TraceCheckUtils]: 7: Hoare triple {34327#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {34327#true} is VALID [2022-04-27 11:37:56,915 INFO L290 TraceCheckUtils]: 8: Hoare triple {34327#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {34365#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:37:56,916 INFO L290 TraceCheckUtils]: 9: Hoare triple {34365#(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; {34365#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:37:56,916 INFO L290 TraceCheckUtils]: 10: Hoare triple {34365#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {34365#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:37:56,917 INFO L290 TraceCheckUtils]: 11: Hoare triple {34365#(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; {34366#(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-27 11:37:56,917 INFO L290 TraceCheckUtils]: 12: Hoare triple {34366#(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; {34367#(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-27 11:37:56,918 INFO L290 TraceCheckUtils]: 13: Hoare triple {34367#(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; {34368#(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-27 11:37:56,918 INFO L290 TraceCheckUtils]: 14: Hoare triple {34368#(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; {34369#(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-27 11:37:56,919 INFO L290 TraceCheckUtils]: 15: Hoare triple {34369#(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; {34370#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 5 |correct_version_#in~a|)))} is VALID [2022-04-27 11:37:56,919 INFO L290 TraceCheckUtils]: 16: Hoare triple {34370#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 5 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:56,919 INFO L290 TraceCheckUtils]: 17: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:56,919 INFO L290 TraceCheckUtils]: 18: Hoare triple {34371#(<= |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; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:56,920 INFO L290 TraceCheckUtils]: 19: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:56,920 INFO L290 TraceCheckUtils]: 20: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} #res := ~y~0; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:56,920 INFO L290 TraceCheckUtils]: 21: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume true; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:56,920 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} {34327#true} #111#return; {34347#(<= main_~m~0 (* 5 main_~a~0))} is VALID [2022-04-27 11:37:56,920 INFO L290 TraceCheckUtils]: 23: Hoare triple {34347#(<= main_~m~0 (* 5 main_~a~0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {34347#(<= main_~m~0 (* 5 main_~a~0))} is VALID [2022-04-27 11:37:56,921 INFO L272 TraceCheckUtils]: 24: Hoare triple {34347#(<= main_~m~0 (* 5 main_~a~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {34327#true} is VALID [2022-04-27 11:37:56,921 INFO L290 TraceCheckUtils]: 25: Hoare triple {34327#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {34372#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:37:56,921 INFO L290 TraceCheckUtils]: 26: Hoare triple {34372#(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; {34372#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:37:56,921 INFO L290 TraceCheckUtils]: 27: Hoare triple {34372#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {34372#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:37:56,922 INFO L290 TraceCheckUtils]: 28: Hoare triple {34372#(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; {34373#(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-27 11:37:56,922 INFO L290 TraceCheckUtils]: 29: Hoare triple {34373#(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; {34374#(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-27 11:37:56,923 INFO L290 TraceCheckUtils]: 30: Hoare triple {34374#(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; {34375#(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-27 11:37:56,923 INFO L290 TraceCheckUtils]: 31: Hoare triple {34375#(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; {34376#(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-27 11:37:56,924 INFO L290 TraceCheckUtils]: 32: Hoare triple {34376#(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; {34377#(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-27 11:37:56,924 INFO L290 TraceCheckUtils]: 33: Hoare triple {34377#(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; {34378#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* 5 |student_version_#in~a|) 1) student_version_~m))} is VALID [2022-04-27 11:37:56,924 INFO L290 TraceCheckUtils]: 34: Hoare triple {34378#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* 5 |student_version_#in~a|) 1) student_version_~m))} assume !(~l~1 < ~m); {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:56,924 INFO L290 TraceCheckUtils]: 35: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:56,925 INFO L290 TraceCheckUtils]: 36: Hoare triple {34379#(<= (+ (* 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; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:56,925 INFO L290 TraceCheckUtils]: 37: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:56,925 INFO L290 TraceCheckUtils]: 38: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:56,925 INFO L290 TraceCheckUtils]: 39: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:56,926 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} {34347#(<= main_~m~0 (* 5 main_~a~0))} #113#return; {34328#false} is VALID [2022-04-27 11:37:56,926 INFO L290 TraceCheckUtils]: 41: Hoare triple {34328#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {34328#false} is VALID [2022-04-27 11:37:56,926 INFO L272 TraceCheckUtils]: 42: Hoare triple {34328#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {34328#false} is VALID [2022-04-27 11:37:56,926 INFO L290 TraceCheckUtils]: 43: Hoare triple {34328#false} ~cond := #in~cond; {34328#false} is VALID [2022-04-27 11:37:56,926 INFO L290 TraceCheckUtils]: 44: Hoare triple {34328#false} assume 0 == ~cond; {34328#false} is VALID [2022-04-27 11:37:56,926 INFO L290 TraceCheckUtils]: 45: Hoare triple {34328#false} assume !false; {34328#false} is VALID [2022-04-27 11:37:56,926 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-27 11:37:56,926 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:37:56,926 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1737731995] [2022-04-27 11:37:56,926 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1737731995] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:37:56,926 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2138500904] [2022-04-27 11:37:56,927 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-27 11:37:56,927 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:37:56,927 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:37:56,944 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-27 11:37:56,959 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-27 11:37:57,020 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-27 11:37:57,020 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:37:57,021 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-27 11:37:57,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:37:57,032 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:37:57,921 INFO L272 TraceCheckUtils]: 0: Hoare triple {34327#true} call ULTIMATE.init(); {34327#true} is VALID [2022-04-27 11:37:57,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {34327#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {34327#true} is VALID [2022-04-27 11:37:57,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {34327#true} assume true; {34327#true} is VALID [2022-04-27 11:37:57,921 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34327#true} {34327#true} #117#return; {34327#true} is VALID [2022-04-27 11:37:57,921 INFO L272 TraceCheckUtils]: 4: Hoare triple {34327#true} call #t~ret10 := main(); {34327#true} is VALID [2022-04-27 11:37:57,921 INFO L290 TraceCheckUtils]: 5: Hoare triple {34327#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {34327#true} is VALID [2022-04-27 11:37:57,921 INFO L290 TraceCheckUtils]: 6: Hoare triple {34327#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {34327#true} is VALID [2022-04-27 11:37:57,921 INFO L272 TraceCheckUtils]: 7: Hoare triple {34327#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {34327#true} is VALID [2022-04-27 11:37:57,922 INFO L290 TraceCheckUtils]: 8: Hoare triple {34327#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {34407#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:37:57,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {34407#(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; {34407#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:37:57,922 INFO L290 TraceCheckUtils]: 10: Hoare triple {34407#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {34407#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:37:57,923 INFO L290 TraceCheckUtils]: 11: Hoare triple {34407#(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; {34417#(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-27 11:37:57,923 INFO L290 TraceCheckUtils]: 12: Hoare triple {34417#(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; {34421#(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-27 11:37:57,924 INFO L290 TraceCheckUtils]: 13: Hoare triple {34421#(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; {34425#(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-27 11:37:57,924 INFO L290 TraceCheckUtils]: 14: Hoare triple {34425#(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; {34429#(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-27 11:37:57,924 INFO L290 TraceCheckUtils]: 15: Hoare triple {34429#(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; {34433#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 5)) |correct_version_#in~a|))} is VALID [2022-04-27 11:37:57,925 INFO L290 TraceCheckUtils]: 16: Hoare triple {34433#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 5)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:57,925 INFO L290 TraceCheckUtils]: 17: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:57,925 INFO L290 TraceCheckUtils]: 18: Hoare triple {34371#(<= |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; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:57,925 INFO L290 TraceCheckUtils]: 19: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:57,926 INFO L290 TraceCheckUtils]: 20: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} #res := ~y~0; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:57,926 INFO L290 TraceCheckUtils]: 21: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume true; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:57,926 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} {34327#true} #111#return; {34347#(<= main_~m~0 (* 5 main_~a~0))} is VALID [2022-04-27 11:37:57,927 INFO L290 TraceCheckUtils]: 23: Hoare triple {34347#(<= main_~m~0 (* 5 main_~a~0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {34347#(<= main_~m~0 (* 5 main_~a~0))} is VALID [2022-04-27 11:37:57,927 INFO L272 TraceCheckUtils]: 24: Hoare triple {34347#(<= main_~m~0 (* 5 main_~a~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {34327#true} is VALID [2022-04-27 11:37:57,927 INFO L290 TraceCheckUtils]: 25: Hoare triple {34327#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {34464#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:37:57,927 INFO L290 TraceCheckUtils]: 26: Hoare triple {34464#(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; {34464#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:37:57,927 INFO L290 TraceCheckUtils]: 27: Hoare triple {34464#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {34464#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:37:57,928 INFO L290 TraceCheckUtils]: 28: Hoare triple {34464#(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; {34474#(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-27 11:37:57,928 INFO L290 TraceCheckUtils]: 29: Hoare triple {34474#(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; {34478#(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-27 11:37:57,929 INFO L290 TraceCheckUtils]: 30: Hoare triple {34478#(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; {34482#(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-27 11:37:57,929 INFO L290 TraceCheckUtils]: 31: Hoare triple {34482#(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; {34486#(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-27 11:37:57,930 INFO L290 TraceCheckUtils]: 32: Hoare triple {34486#(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; {34490#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 5)))} is VALID [2022-04-27 11:37:57,930 INFO L290 TraceCheckUtils]: 33: Hoare triple {34490#(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; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:57,930 INFO L290 TraceCheckUtils]: 34: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:57,931 INFO L290 TraceCheckUtils]: 35: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:57,931 INFO L290 TraceCheckUtils]: 36: Hoare triple {34379#(<= (+ (* 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; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:57,931 INFO L290 TraceCheckUtils]: 37: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:57,931 INFO L290 TraceCheckUtils]: 38: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:57,931 INFO L290 TraceCheckUtils]: 39: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:57,932 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} {34347#(<= main_~m~0 (* 5 main_~a~0))} #113#return; {34328#false} is VALID [2022-04-27 11:37:57,932 INFO L290 TraceCheckUtils]: 41: Hoare triple {34328#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {34328#false} is VALID [2022-04-27 11:37:57,932 INFO L272 TraceCheckUtils]: 42: Hoare triple {34328#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {34328#false} is VALID [2022-04-27 11:37:57,932 INFO L290 TraceCheckUtils]: 43: Hoare triple {34328#false} ~cond := #in~cond; {34328#false} is VALID [2022-04-27 11:37:57,932 INFO L290 TraceCheckUtils]: 44: Hoare triple {34328#false} assume 0 == ~cond; {34328#false} is VALID [2022-04-27 11:37:57,932 INFO L290 TraceCheckUtils]: 45: Hoare triple {34328#false} assume !false; {34328#false} is VALID [2022-04-27 11:37:57,932 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-27 11:37:57,932 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:37:59,262 INFO L290 TraceCheckUtils]: 45: Hoare triple {34328#false} assume !false; {34328#false} is VALID [2022-04-27 11:37:59,263 INFO L290 TraceCheckUtils]: 44: Hoare triple {34328#false} assume 0 == ~cond; {34328#false} is VALID [2022-04-27 11:37:59,263 INFO L290 TraceCheckUtils]: 43: Hoare triple {34328#false} ~cond := #in~cond; {34328#false} is VALID [2022-04-27 11:37:59,263 INFO L272 TraceCheckUtils]: 42: Hoare triple {34328#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {34328#false} is VALID [2022-04-27 11:37:59,263 INFO L290 TraceCheckUtils]: 41: Hoare triple {34328#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {34328#false} is VALID [2022-04-27 11:37:59,263 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} {34347#(<= main_~m~0 (* 5 main_~a~0))} #113#return; {34328#false} is VALID [2022-04-27 11:37:59,264 INFO L290 TraceCheckUtils]: 39: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:59,264 INFO L290 TraceCheckUtils]: 38: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:59,264 INFO L290 TraceCheckUtils]: 37: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:59,264 INFO L290 TraceCheckUtils]: 36: Hoare triple {34379#(<= (+ (* 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; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:59,264 INFO L290 TraceCheckUtils]: 35: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:59,265 INFO L290 TraceCheckUtils]: 34: Hoare triple {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:59,265 INFO L290 TraceCheckUtils]: 33: Hoare triple {34569#(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; {34379#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:37:59,265 INFO L290 TraceCheckUtils]: 32: Hoare triple {34573#(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; {34569#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-27 11:37:59,266 INFO L290 TraceCheckUtils]: 31: Hoare triple {34577#(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; {34573#(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-27 11:37:59,266 INFO L290 TraceCheckUtils]: 30: Hoare triple {34581#(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; {34577#(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-27 11:37:59,267 INFO L290 TraceCheckUtils]: 29: Hoare triple {34585#(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; {34581#(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-27 11:37:59,267 INFO L290 TraceCheckUtils]: 28: Hoare triple {34589#(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; {34585#(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-27 11:37:59,267 INFO L290 TraceCheckUtils]: 27: Hoare triple {34589#(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); {34589#(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-27 11:37:59,268 INFO L290 TraceCheckUtils]: 26: Hoare triple {34589#(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; {34589#(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-27 11:37:59,268 INFO L290 TraceCheckUtils]: 25: Hoare triple {34327#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {34589#(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-27 11:37:59,268 INFO L272 TraceCheckUtils]: 24: Hoare triple {34347#(<= main_~m~0 (* 5 main_~a~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {34327#true} is VALID [2022-04-27 11:37:59,268 INFO L290 TraceCheckUtils]: 23: Hoare triple {34347#(<= main_~m~0 (* 5 main_~a~0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {34347#(<= main_~m~0 (* 5 main_~a~0))} is VALID [2022-04-27 11:37:59,269 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} {34327#true} #111#return; {34347#(<= main_~m~0 (* 5 main_~a~0))} is VALID [2022-04-27 11:37:59,269 INFO L290 TraceCheckUtils]: 21: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume true; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:59,269 INFO L290 TraceCheckUtils]: 20: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} #res := ~y~0; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:59,270 INFO L290 TraceCheckUtils]: 19: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:59,270 INFO L290 TraceCheckUtils]: 18: Hoare triple {34371#(<= |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; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:59,270 INFO L290 TraceCheckUtils]: 17: Hoare triple {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:59,270 INFO L290 TraceCheckUtils]: 16: Hoare triple {34626#(or (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} assume !(~l~0 < ~m); {34371#(<= |correct_version_#in~m| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:37:59,271 INFO L290 TraceCheckUtils]: 15: Hoare triple {34630#(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; {34626#(or (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} is VALID [2022-04-27 11:37:59,271 INFO L290 TraceCheckUtils]: 14: Hoare triple {34634#(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; {34630#(or (<= |correct_version_#in~m| (* 5 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-27 11:37:59,272 INFO L290 TraceCheckUtils]: 13: Hoare triple {34638#(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; {34634#(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-27 11:37:59,272 INFO L290 TraceCheckUtils]: 12: Hoare triple {34642#(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; {34638#(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-27 11:37:59,272 INFO L290 TraceCheckUtils]: 11: Hoare triple {34646#(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; {34642#(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-27 11:37:59,273 INFO L290 TraceCheckUtils]: 10: Hoare triple {34646#(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); {34646#(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-27 11:37:59,273 INFO L290 TraceCheckUtils]: 9: Hoare triple {34646#(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; {34646#(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-27 11:37:59,273 INFO L290 TraceCheckUtils]: 8: Hoare triple {34327#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {34646#(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-27 11:37:59,273 INFO L272 TraceCheckUtils]: 7: Hoare triple {34327#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {34327#true} is VALID [2022-04-27 11:37:59,274 INFO L290 TraceCheckUtils]: 6: Hoare triple {34327#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {34327#true} is VALID [2022-04-27 11:37:59,274 INFO L290 TraceCheckUtils]: 5: Hoare triple {34327#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {34327#true} is VALID [2022-04-27 11:37:59,274 INFO L272 TraceCheckUtils]: 4: Hoare triple {34327#true} call #t~ret10 := main(); {34327#true} is VALID [2022-04-27 11:37:59,274 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34327#true} {34327#true} #117#return; {34327#true} is VALID [2022-04-27 11:37:59,274 INFO L290 TraceCheckUtils]: 2: Hoare triple {34327#true} assume true; {34327#true} is VALID [2022-04-27 11:37:59,274 INFO L290 TraceCheckUtils]: 1: Hoare triple {34327#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {34327#true} is VALID [2022-04-27 11:37:59,274 INFO L272 TraceCheckUtils]: 0: Hoare triple {34327#true} call ULTIMATE.init(); {34327#true} is VALID [2022-04-27 11:37:59,274 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-27 11:37:59,274 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2138500904] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:37:59,274 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:37:59,274 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 17, 17] total 43 [2022-04-27 11:37:59,275 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [936295042] [2022-04-27 11:37:59,275 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:37:59,275 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 43 states have (on average 1.7674418604651163) internal successors, (76), 42 states have internal predecessors, (76), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 46 [2022-04-27 11:37:59,275 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:37:59,275 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 43 states, 43 states have (on average 1.7674418604651163) internal successors, (76), 42 states have internal predecessors, (76), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:37:59,313 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:37:59,313 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 43 states [2022-04-27 11:37:59,313 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:37:59,314 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2022-04-27 11:37:59,314 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=138, Invalid=1668, Unknown=0, NotChecked=0, Total=1806 [2022-04-27 11:37:59,314 INFO L87 Difference]: Start difference. First operand 222 states and 259 transitions. Second operand has 43 states, 43 states have (on average 1.7674418604651163) internal successors, (76), 42 states have internal predecessors, (76), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:03,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:03,604 INFO L93 Difference]: Finished difference Result 268 states and 314 transitions. [2022-04-27 11:38:03,604 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-27 11:38:03,605 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 43 states have (on average 1.7674418604651163) internal successors, (76), 42 states have internal predecessors, (76), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 46 [2022-04-27 11:38:03,605 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:38:03,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 43 states have (on average 1.7674418604651163) internal successors, (76), 42 states have internal predecessors, (76), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:03,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 130 transitions. [2022-04-27 11:38:03,606 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 43 states have (on average 1.7674418604651163) internal successors, (76), 42 states have internal predecessors, (76), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:03,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 130 transitions. [2022-04-27 11:38:03,607 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 130 transitions. [2022-04-27 11:38:03,686 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-27 11:38:03,690 INFO L225 Difference]: With dead ends: 268 [2022-04-27 11:38:03,690 INFO L226 Difference]: Without dead ends: 254 [2022-04-27 11:38:03,691 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 65 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 584 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=376, Invalid=4046, Unknown=0, NotChecked=0, Total=4422 [2022-04-27 11:38:03,691 INFO L413 NwaCegarLoop]: 74 mSDtfsCounter, 501 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 2099 mSolverCounterSat, 64 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 506 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 2163 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 64 IncrementalHoareTripleChecker+Valid, 2099 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-27 11:38:03,692 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [506 Valid, 181 Invalid, 2163 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [64 Valid, 2099 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-27 11:38:03,692 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-27 11:38:04,346 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 245. [2022-04-27 11:38:04,346 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:38:04,346 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-27 11:38:04,347 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-27 11:38:04,347 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-27 11:38:04,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:04,350 INFO L93 Difference]: Finished difference Result 254 states and 297 transitions. [2022-04-27 11:38:04,350 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 297 transitions. [2022-04-27 11:38:04,350 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:04,350 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:04,351 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-27 11:38:04,351 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-27 11:38:04,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:04,354 INFO L93 Difference]: Finished difference Result 254 states and 297 transitions. [2022-04-27 11:38:04,354 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 297 transitions. [2022-04-27 11:38:04,354 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:04,354 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:04,354 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:38:04,355 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:38:04,355 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-27 11:38:04,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 287 transitions. [2022-04-27 11:38:04,358 INFO L78 Accepts]: Start accepts. Automaton has 245 states and 287 transitions. Word has length 46 [2022-04-27 11:38:04,358 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:38:04,358 INFO L495 AbstractCegarLoop]: Abstraction has 245 states and 287 transitions. [2022-04-27 11:38:04,359 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 43 states, 43 states have (on average 1.7674418604651163) internal successors, (76), 42 states have internal predecessors, (76), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:04,359 INFO L276 IsEmpty]: Start isEmpty. Operand 245 states and 287 transitions. [2022-04-27 11:38:04,360 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-27 11:38:04,360 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:38:04,360 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:38:04,383 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Ended with exit code 0 [2022-04-27 11:38:04,576 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 31 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable39 [2022-04-27 11:38:04,576 INFO L420 AbstractCegarLoop]: === Iteration 41 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:38:04,576 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:38:04,576 INFO L85 PathProgramCache]: Analyzing trace with hash 256944047, now seen corresponding path program 31 times [2022-04-27 11:38:04,576 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:38:04,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1117281811] [2022-04-27 11:38:04,577 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:38:04,577 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:38:04,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:04,603 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:38:04,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:04,605 INFO L290 TraceCheckUtils]: 0: Hoare triple {35993#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {35956#true} is VALID [2022-04-27 11:38:04,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {35956#true} assume true; {35956#true} is VALID [2022-04-27 11:38:04,605 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35956#true} {35956#true} #117#return; {35956#true} is VALID [2022-04-27 11:38:04,605 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:38:04,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:04,709 INFO L290 TraceCheckUtils]: 0: Hoare triple {35956#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {35994#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:04,710 INFO L290 TraceCheckUtils]: 1: Hoare triple {35994#(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; {35994#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:04,710 INFO L290 TraceCheckUtils]: 2: Hoare triple {35994#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {35994#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:04,710 INFO L290 TraceCheckUtils]: 3: Hoare triple {35994#(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; {35995#(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-27 11:38:04,711 INFO L290 TraceCheckUtils]: 4: Hoare triple {35995#(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; {35996#(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-27 11:38:04,711 INFO L290 TraceCheckUtils]: 5: Hoare triple {35996#(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; {35997#(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-27 11:38:04,712 INFO L290 TraceCheckUtils]: 6: Hoare triple {35997#(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; {35998#(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-27 11:38:04,712 INFO L290 TraceCheckUtils]: 7: Hoare triple {35998#(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; {35999#(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-27 11:38:04,713 INFO L290 TraceCheckUtils]: 8: Hoare triple {35999#(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; {36000#(and (<= (+ (* 5 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-27 11:38:04,713 INFO L290 TraceCheckUtils]: 9: Hoare triple {36000#(and (<= (+ (* 5 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:04,714 INFO L290 TraceCheckUtils]: 10: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:04,714 INFO L290 TraceCheckUtils]: 11: Hoare triple {36001#(<= (+ (* 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; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:04,714 INFO L290 TraceCheckUtils]: 12: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:04,714 INFO L290 TraceCheckUtils]: 13: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:04,715 INFO L290 TraceCheckUtils]: 14: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:04,715 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {35956#true} #111#return; {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} is VALID [2022-04-27 11:38:04,715 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-27 11:38:04,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:04,843 INFO L290 TraceCheckUtils]: 0: Hoare triple {35956#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {36002#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:38:04,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {36002#(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; {36002#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:38:04,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {36002#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {36002#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:38:04,845 INFO L290 TraceCheckUtils]: 3: Hoare triple {36002#(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; {36003#(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-27 11:38:04,845 INFO L290 TraceCheckUtils]: 4: Hoare triple {36003#(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; {36004#(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-27 11:38:04,846 INFO L290 TraceCheckUtils]: 5: Hoare triple {36004#(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; {36005#(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-27 11:38:04,846 INFO L290 TraceCheckUtils]: 6: Hoare triple {36005#(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; {36006#(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-27 11:38:04,847 INFO L290 TraceCheckUtils]: 7: Hoare triple {36006#(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; {36007#(and (<= student_version_~l~1 (* 5 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:38:04,847 INFO L290 TraceCheckUtils]: 8: Hoare triple {36007#(and (<= student_version_~l~1 (* 5 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:04,848 INFO L290 TraceCheckUtils]: 9: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:04,848 INFO L290 TraceCheckUtils]: 10: Hoare triple {36008#(<= |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; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:04,848 INFO L290 TraceCheckUtils]: 11: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:04,848 INFO L290 TraceCheckUtils]: 12: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} #res := ~y~1; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:04,849 INFO L290 TraceCheckUtils]: 13: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume true; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:04,849 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} #113#return; {35957#false} is VALID [2022-04-27 11:38:04,850 INFO L272 TraceCheckUtils]: 0: Hoare triple {35956#true} call ULTIMATE.init(); {35993#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:38:04,850 INFO L290 TraceCheckUtils]: 1: Hoare triple {35993#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {35956#true} is VALID [2022-04-27 11:38:04,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {35956#true} assume true; {35956#true} is VALID [2022-04-27 11:38:04,850 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35956#true} {35956#true} #117#return; {35956#true} is VALID [2022-04-27 11:38:04,850 INFO L272 TraceCheckUtils]: 4: Hoare triple {35956#true} call #t~ret10 := main(); {35956#true} is VALID [2022-04-27 11:38:04,850 INFO L290 TraceCheckUtils]: 5: Hoare triple {35956#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {35956#true} is VALID [2022-04-27 11:38:04,850 INFO L290 TraceCheckUtils]: 6: Hoare triple {35956#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {35956#true} is VALID [2022-04-27 11:38:04,850 INFO L272 TraceCheckUtils]: 7: Hoare triple {35956#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {35956#true} is VALID [2022-04-27 11:38:04,851 INFO L290 TraceCheckUtils]: 8: Hoare triple {35956#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {35994#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:04,851 INFO L290 TraceCheckUtils]: 9: Hoare triple {35994#(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; {35994#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:04,851 INFO L290 TraceCheckUtils]: 10: Hoare triple {35994#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {35994#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:04,852 INFO L290 TraceCheckUtils]: 11: Hoare triple {35994#(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; {35995#(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-27 11:38:04,852 INFO L290 TraceCheckUtils]: 12: Hoare triple {35995#(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; {35996#(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-27 11:38:04,853 INFO L290 TraceCheckUtils]: 13: Hoare triple {35996#(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; {35997#(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-27 11:38:04,853 INFO L290 TraceCheckUtils]: 14: Hoare triple {35997#(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; {35998#(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-27 11:38:04,854 INFO L290 TraceCheckUtils]: 15: Hoare triple {35998#(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; {35999#(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-27 11:38:04,854 INFO L290 TraceCheckUtils]: 16: Hoare triple {35999#(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; {36000#(and (<= (+ (* 5 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-27 11:38:04,855 INFO L290 TraceCheckUtils]: 17: Hoare triple {36000#(and (<= (+ (* 5 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:04,855 INFO L290 TraceCheckUtils]: 18: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:04,855 INFO L290 TraceCheckUtils]: 19: Hoare triple {36001#(<= (+ (* 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; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:04,856 INFO L290 TraceCheckUtils]: 20: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:04,856 INFO L290 TraceCheckUtils]: 21: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:04,856 INFO L290 TraceCheckUtils]: 22: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:04,857 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {35956#true} #111#return; {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} is VALID [2022-04-27 11:38:04,857 INFO L290 TraceCheckUtils]: 24: Hoare triple {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} is VALID [2022-04-27 11:38:04,857 INFO L272 TraceCheckUtils]: 25: Hoare triple {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {35956#true} is VALID [2022-04-27 11:38:04,857 INFO L290 TraceCheckUtils]: 26: Hoare triple {35956#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {36002#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:38:04,858 INFO L290 TraceCheckUtils]: 27: Hoare triple {36002#(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; {36002#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:38:04,858 INFO L290 TraceCheckUtils]: 28: Hoare triple {36002#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {36002#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:38:04,859 INFO L290 TraceCheckUtils]: 29: Hoare triple {36002#(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; {36003#(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-27 11:38:04,859 INFO L290 TraceCheckUtils]: 30: Hoare triple {36003#(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; {36004#(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-27 11:38:04,860 INFO L290 TraceCheckUtils]: 31: Hoare triple {36004#(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; {36005#(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-27 11:38:04,860 INFO L290 TraceCheckUtils]: 32: Hoare triple {36005#(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; {36006#(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-27 11:38:04,861 INFO L290 TraceCheckUtils]: 33: Hoare triple {36006#(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; {36007#(and (<= student_version_~l~1 (* 5 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:38:04,861 INFO L290 TraceCheckUtils]: 34: Hoare triple {36007#(and (<= student_version_~l~1 (* 5 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:04,861 INFO L290 TraceCheckUtils]: 35: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:04,861 INFO L290 TraceCheckUtils]: 36: Hoare triple {36008#(<= |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; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:04,862 INFO L290 TraceCheckUtils]: 37: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:04,862 INFO L290 TraceCheckUtils]: 38: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} #res := ~y~1; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:04,862 INFO L290 TraceCheckUtils]: 39: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume true; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:04,863 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} #113#return; {35957#false} is VALID [2022-04-27 11:38:04,863 INFO L290 TraceCheckUtils]: 41: Hoare triple {35957#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {35957#false} is VALID [2022-04-27 11:38:04,863 INFO L272 TraceCheckUtils]: 42: Hoare triple {35957#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {35957#false} is VALID [2022-04-27 11:38:04,863 INFO L290 TraceCheckUtils]: 43: Hoare triple {35957#false} ~cond := #in~cond; {35957#false} is VALID [2022-04-27 11:38:04,863 INFO L290 TraceCheckUtils]: 44: Hoare triple {35957#false} assume 0 == ~cond; {35957#false} is VALID [2022-04-27 11:38:04,863 INFO L290 TraceCheckUtils]: 45: Hoare triple {35957#false} assume !false; {35957#false} is VALID [2022-04-27 11:38:04,864 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-27 11:38:04,864 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:38:04,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1117281811] [2022-04-27 11:38:04,864 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1117281811] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:38:04,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1418193289] [2022-04-27 11:38:04,864 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-04-27 11:38:04,864 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:38:04,864 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:38:04,865 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-27 11:38:04,866 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-27 11:38:04,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:04,924 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-27 11:38:04,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:04,935 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:38:05,836 INFO L272 TraceCheckUtils]: 0: Hoare triple {35956#true} call ULTIMATE.init(); {35956#true} is VALID [2022-04-27 11:38:05,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {35956#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {35956#true} is VALID [2022-04-27 11:38:05,836 INFO L290 TraceCheckUtils]: 2: Hoare triple {35956#true} assume true; {35956#true} is VALID [2022-04-27 11:38:05,836 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35956#true} {35956#true} #117#return; {35956#true} is VALID [2022-04-27 11:38:05,836 INFO L272 TraceCheckUtils]: 4: Hoare triple {35956#true} call #t~ret10 := main(); {35956#true} is VALID [2022-04-27 11:38:05,836 INFO L290 TraceCheckUtils]: 5: Hoare triple {35956#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {35956#true} is VALID [2022-04-27 11:38:05,836 INFO L290 TraceCheckUtils]: 6: Hoare triple {35956#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {35956#true} is VALID [2022-04-27 11:38:05,836 INFO L272 TraceCheckUtils]: 7: Hoare triple {35956#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {35956#true} is VALID [2022-04-27 11:38:05,837 INFO L290 TraceCheckUtils]: 8: Hoare triple {35956#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {36036#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:05,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {36036#(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; {36036#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:05,837 INFO L290 TraceCheckUtils]: 10: Hoare triple {36036#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {36036#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:05,838 INFO L290 TraceCheckUtils]: 11: Hoare triple {36036#(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; {36046#(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-27 11:38:05,838 INFO L290 TraceCheckUtils]: 12: Hoare triple {36046#(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; {36050#(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-27 11:38:05,839 INFO L290 TraceCheckUtils]: 13: Hoare triple {36050#(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; {36054#(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-27 11:38:05,840 INFO L290 TraceCheckUtils]: 14: Hoare triple {36054#(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; {36058#(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-27 11:38:05,840 INFO L290 TraceCheckUtils]: 15: Hoare triple {36058#(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; {36062#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 5)))} is VALID [2022-04-27 11:38:05,841 INFO L290 TraceCheckUtils]: 16: Hoare triple {36062#(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; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:05,841 INFO L290 TraceCheckUtils]: 17: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:05,841 INFO L290 TraceCheckUtils]: 18: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:05,841 INFO L290 TraceCheckUtils]: 19: Hoare triple {36001#(<= (+ (* 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; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:05,842 INFO L290 TraceCheckUtils]: 20: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:05,842 INFO L290 TraceCheckUtils]: 21: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:05,842 INFO L290 TraceCheckUtils]: 22: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:05,843 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {35956#true} #111#return; {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} is VALID [2022-04-27 11:38:05,843 INFO L290 TraceCheckUtils]: 24: Hoare triple {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} is VALID [2022-04-27 11:38:05,843 INFO L272 TraceCheckUtils]: 25: Hoare triple {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {35956#true} is VALID [2022-04-27 11:38:05,844 INFO L290 TraceCheckUtils]: 26: Hoare triple {35956#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {36096#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:38:05,844 INFO L290 TraceCheckUtils]: 27: Hoare triple {36096#(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; {36096#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:38:05,844 INFO L290 TraceCheckUtils]: 28: Hoare triple {36096#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {36096#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:38:05,845 INFO L290 TraceCheckUtils]: 29: Hoare triple {36096#(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; {36106#(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-27 11:38:05,845 INFO L290 TraceCheckUtils]: 30: Hoare triple {36106#(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; {36110#(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-27 11:38:05,846 INFO L290 TraceCheckUtils]: 31: Hoare triple {36110#(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; {36114#(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-27 11:38:05,846 INFO L290 TraceCheckUtils]: 32: Hoare triple {36114#(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; {36118#(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-27 11:38:05,847 INFO L290 TraceCheckUtils]: 33: Hoare triple {36118#(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; {36122#(and (<= (div (- student_version_~l~1) (- 5)) |student_version_#in~a|) (<= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:38:05,847 INFO L290 TraceCheckUtils]: 34: Hoare triple {36122#(and (<= (div (- student_version_~l~1) (- 5)) |student_version_#in~a|) (<= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:05,848 INFO L290 TraceCheckUtils]: 35: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:05,848 INFO L290 TraceCheckUtils]: 36: Hoare triple {36008#(<= |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; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:05,848 INFO L290 TraceCheckUtils]: 37: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:05,848 INFO L290 TraceCheckUtils]: 38: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} #res := ~y~1; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:05,849 INFO L290 TraceCheckUtils]: 39: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume true; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:05,849 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} #113#return; {35957#false} is VALID [2022-04-27 11:38:05,849 INFO L290 TraceCheckUtils]: 41: Hoare triple {35957#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {35957#false} is VALID [2022-04-27 11:38:05,850 INFO L272 TraceCheckUtils]: 42: Hoare triple {35957#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {35957#false} is VALID [2022-04-27 11:38:05,850 INFO L290 TraceCheckUtils]: 43: Hoare triple {35957#false} ~cond := #in~cond; {35957#false} is VALID [2022-04-27 11:38:05,850 INFO L290 TraceCheckUtils]: 44: Hoare triple {35957#false} assume 0 == ~cond; {35957#false} is VALID [2022-04-27 11:38:05,850 INFO L290 TraceCheckUtils]: 45: Hoare triple {35957#false} assume !false; {35957#false} is VALID [2022-04-27 11:38:05,850 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-27 11:38:05,850 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:38:07,054 INFO L290 TraceCheckUtils]: 45: Hoare triple {35957#false} assume !false; {35957#false} is VALID [2022-04-27 11:38:07,054 INFO L290 TraceCheckUtils]: 44: Hoare triple {35957#false} assume 0 == ~cond; {35957#false} is VALID [2022-04-27 11:38:07,054 INFO L290 TraceCheckUtils]: 43: Hoare triple {35957#false} ~cond := #in~cond; {35957#false} is VALID [2022-04-27 11:38:07,054 INFO L272 TraceCheckUtils]: 42: Hoare triple {35957#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {35957#false} is VALID [2022-04-27 11:38:07,054 INFO L290 TraceCheckUtils]: 41: Hoare triple {35957#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {35957#false} is VALID [2022-04-27 11:38:07,055 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} #113#return; {35957#false} is VALID [2022-04-27 11:38:07,055 INFO L290 TraceCheckUtils]: 39: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume true; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:07,055 INFO L290 TraceCheckUtils]: 38: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} #res := ~y~1; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:07,056 INFO L290 TraceCheckUtils]: 37: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:07,056 INFO L290 TraceCheckUtils]: 36: Hoare triple {36008#(<= |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; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:07,056 INFO L290 TraceCheckUtils]: 35: Hoare triple {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:07,056 INFO L290 TraceCheckUtils]: 34: Hoare triple {36195#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {36008#(<= |student_version_#in~m| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:38:07,057 INFO L290 TraceCheckUtils]: 33: Hoare triple {36199#(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; {36195#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-27 11:38:07,057 INFO L290 TraceCheckUtils]: 32: Hoare triple {36203#(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; {36199#(or (<= |student_version_#in~m| (* 5 |student_version_#in~a|)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} is VALID [2022-04-27 11:38:07,058 INFO L290 TraceCheckUtils]: 31: Hoare triple {36207#(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; {36203#(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-27 11:38:07,058 INFO L290 TraceCheckUtils]: 30: Hoare triple {36211#(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; {36207#(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-27 11:38:07,059 INFO L290 TraceCheckUtils]: 29: Hoare triple {36215#(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; {36211#(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-27 11:38:07,059 INFO L290 TraceCheckUtils]: 28: Hoare triple {36215#(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); {36215#(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-27 11:38:07,059 INFO L290 TraceCheckUtils]: 27: Hoare triple {36215#(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; {36215#(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-27 11:38:07,060 INFO L290 TraceCheckUtils]: 26: Hoare triple {35956#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {36215#(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-27 11:38:07,060 INFO L272 TraceCheckUtils]: 25: Hoare triple {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {35956#true} is VALID [2022-04-27 11:38:07,060 INFO L290 TraceCheckUtils]: 24: Hoare triple {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} is VALID [2022-04-27 11:38:07,061 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {35956#true} #111#return; {35977#(<= (+ (* 5 main_~a~0) 1) main_~m~0)} is VALID [2022-04-27 11:38:07,061 INFO L290 TraceCheckUtils]: 22: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:07,061 INFO L290 TraceCheckUtils]: 21: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:07,062 INFO L290 TraceCheckUtils]: 20: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:07,062 INFO L290 TraceCheckUtils]: 19: Hoare triple {36001#(<= (+ (* 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; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:07,062 INFO L290 TraceCheckUtils]: 18: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:07,062 INFO L290 TraceCheckUtils]: 17: Hoare triple {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:07,063 INFO L290 TraceCheckUtils]: 16: Hoare triple {36255#(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; {36001#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:38:07,063 INFO L290 TraceCheckUtils]: 15: Hoare triple {36259#(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; {36255#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-27 11:38:07,064 INFO L290 TraceCheckUtils]: 14: Hoare triple {36263#(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; {36259#(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-27 11:38:07,064 INFO L290 TraceCheckUtils]: 13: Hoare triple {36267#(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; {36263#(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-27 11:38:07,065 INFO L290 TraceCheckUtils]: 12: Hoare triple {36271#(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; {36267#(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-27 11:38:07,065 INFO L290 TraceCheckUtils]: 11: Hoare triple {36275#(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; {36271#(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-27 11:38:07,066 INFO L290 TraceCheckUtils]: 10: Hoare triple {36275#(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); {36275#(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-27 11:38:07,066 INFO L290 TraceCheckUtils]: 9: Hoare triple {36275#(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; {36275#(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-27 11:38:07,066 INFO L290 TraceCheckUtils]: 8: Hoare triple {35956#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {36275#(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-27 11:38:07,067 INFO L272 TraceCheckUtils]: 7: Hoare triple {35956#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {35956#true} is VALID [2022-04-27 11:38:07,067 INFO L290 TraceCheckUtils]: 6: Hoare triple {35956#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {35956#true} is VALID [2022-04-27 11:38:07,067 INFO L290 TraceCheckUtils]: 5: Hoare triple {35956#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {35956#true} is VALID [2022-04-27 11:38:07,067 INFO L272 TraceCheckUtils]: 4: Hoare triple {35956#true} call #t~ret10 := main(); {35956#true} is VALID [2022-04-27 11:38:07,067 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35956#true} {35956#true} #117#return; {35956#true} is VALID [2022-04-27 11:38:07,067 INFO L290 TraceCheckUtils]: 2: Hoare triple {35956#true} assume true; {35956#true} is VALID [2022-04-27 11:38:07,067 INFO L290 TraceCheckUtils]: 1: Hoare triple {35956#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {35956#true} is VALID [2022-04-27 11:38:07,067 INFO L272 TraceCheckUtils]: 0: Hoare triple {35956#true} call ULTIMATE.init(); {35956#true} is VALID [2022-04-27 11:38:07,067 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-27 11:38:07,067 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1418193289] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:38:07,067 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:38:07,067 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 17, 17] total 43 [2022-04-27 11:38:07,068 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [48100890] [2022-04-27 11:38:07,068 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:38:07,068 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 43 states have (on average 1.7674418604651163) internal successors, (76), 42 states have internal predecessors, (76), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 46 [2022-04-27 11:38:07,068 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:38:07,068 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 43 states, 43 states have (on average 1.7674418604651163) internal successors, (76), 42 states have internal predecessors, (76), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:07,126 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:38:07,126 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 43 states [2022-04-27 11:38:07,126 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:38:07,126 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2022-04-27 11:38:07,126 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=138, Invalid=1668, Unknown=0, NotChecked=0, Total=1806 [2022-04-27 11:38:07,127 INFO L87 Difference]: Start difference. First operand 245 states and 287 transitions. Second operand has 43 states, 43 states have (on average 1.7674418604651163) internal successors, (76), 42 states have internal predecessors, (76), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:12,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:12,440 INFO L93 Difference]: Finished difference Result 260 states and 302 transitions. [2022-04-27 11:38:12,440 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-27 11:38:12,440 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 43 states have (on average 1.7674418604651163) internal successors, (76), 42 states have internal predecessors, (76), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 46 [2022-04-27 11:38:12,440 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:38:12,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 43 states have (on average 1.7674418604651163) internal successors, (76), 42 states have internal predecessors, (76), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:12,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 129 transitions. [2022-04-27 11:38:12,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 43 states have (on average 1.7674418604651163) internal successors, (76), 42 states have internal predecessors, (76), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:12,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 129 transitions. [2022-04-27 11:38:12,442 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 129 transitions. [2022-04-27 11:38:12,533 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-27 11:38:12,537 INFO L225 Difference]: With dead ends: 260 [2022-04-27 11:38:12,537 INFO L226 Difference]: Without dead ends: 248 [2022-04-27 11:38:12,538 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 65 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 593 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=376, Invalid=4046, Unknown=0, NotChecked=0, Total=4422 [2022-04-27 11:38:12,540 INFO L413 NwaCegarLoop]: 78 mSDtfsCounter, 474 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 2673 mSolverCounterSat, 54 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 485 SdHoareTripleChecker+Valid, 215 SdHoareTripleChecker+Invalid, 2727 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 54 IncrementalHoareTripleChecker+Valid, 2673 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-27 11:38:12,540 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [485 Valid, 215 Invalid, 2727 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [54 Valid, 2673 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-27 11:38:12,541 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 248 states. [2022-04-27 11:38:13,488 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 248 to 246. [2022-04-27 11:38:13,488 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:38:13,488 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-27 11:38:13,489 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-27 11:38:13,489 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-27 11:38:13,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:13,492 INFO L93 Difference]: Finished difference Result 248 states and 288 transitions. [2022-04-27 11:38:13,492 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 288 transitions. [2022-04-27 11:38:13,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:13,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:13,493 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-27 11:38:13,493 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-27 11:38:13,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:13,496 INFO L93 Difference]: Finished difference Result 248 states and 288 transitions. [2022-04-27 11:38:13,496 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 288 transitions. [2022-04-27 11:38:13,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:13,497 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:13,497 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:38:13,497 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:38:13,497 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-27 11:38:13,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 246 states to 246 states and 286 transitions. [2022-04-27 11:38:13,500 INFO L78 Accepts]: Start accepts. Automaton has 246 states and 286 transitions. Word has length 46 [2022-04-27 11:38:13,500 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:38:13,500 INFO L495 AbstractCegarLoop]: Abstraction has 246 states and 286 transitions. [2022-04-27 11:38:13,501 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 43 states, 43 states have (on average 1.7674418604651163) internal successors, (76), 42 states have internal predecessors, (76), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:13,501 INFO L276 IsEmpty]: Start isEmpty. Operand 246 states and 286 transitions. [2022-04-27 11:38:13,501 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-27 11:38:13,501 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:38:13,501 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:38:13,520 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Forceful destruction successful, exit code 0 [2022-04-27 11:38:13,715 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable40,32 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:38:13,715 INFO L420 AbstractCegarLoop]: === Iteration 42 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:38:13,716 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:38:13,716 INFO L85 PathProgramCache]: Analyzing trace with hash -521678067, now seen corresponding path program 32 times [2022-04-27 11:38:13,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:38:13,716 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1373095298] [2022-04-27 11:38:13,716 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:38:13,716 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:38:13,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:13,736 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:38:13,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:13,738 INFO L290 TraceCheckUtils]: 0: Hoare triple {37599#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {37563#true} is VALID [2022-04-27 11:38:13,738 INFO L290 TraceCheckUtils]: 1: Hoare triple {37563#true} assume true; {37563#true} is VALID [2022-04-27 11:38:13,738 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37563#true} {37563#true} #117#return; {37563#true} is VALID [2022-04-27 11:38:13,738 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:38:13,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:13,742 INFO L290 TraceCheckUtils]: 0: Hoare triple {37563#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {37563#true} is VALID [2022-04-27 11:38:13,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {37563#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37563#true} is VALID [2022-04-27 11:38:13,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {37563#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37563#true} is VALID [2022-04-27 11:38:13,742 INFO L290 TraceCheckUtils]: 3: Hoare triple {37563#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37563#true} is VALID [2022-04-27 11:38:13,742 INFO L290 TraceCheckUtils]: 4: Hoare triple {37563#true} assume !(~b~0 < ~n); {37563#true} is VALID [2022-04-27 11:38:13,742 INFO L290 TraceCheckUtils]: 5: Hoare triple {37563#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37563#true} is VALID [2022-04-27 11:38:13,742 INFO L290 TraceCheckUtils]: 6: Hoare triple {37563#true} assume !(~l~0 < ~m); {37563#true} is VALID [2022-04-27 11:38:13,742 INFO L290 TraceCheckUtils]: 7: Hoare triple {37563#true} ~x~0 := 0;~y~0 := 0; {37563#true} is VALID [2022-04-27 11:38:13,742 INFO L290 TraceCheckUtils]: 8: Hoare triple {37563#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37563#true} is VALID [2022-04-27 11:38:13,742 INFO L290 TraceCheckUtils]: 9: Hoare triple {37563#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37563#true} is VALID [2022-04-27 11:38:13,742 INFO L290 TraceCheckUtils]: 10: Hoare triple {37563#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37563#true} is VALID [2022-04-27 11:38:13,742 INFO L290 TraceCheckUtils]: 11: Hoare triple {37563#true} assume !(~x~0 < ~i~0); {37563#true} is VALID [2022-04-27 11:38:13,742 INFO L290 TraceCheckUtils]: 12: Hoare triple {37563#true} #res := ~y~0; {37563#true} is VALID [2022-04-27 11:38:13,743 INFO L290 TraceCheckUtils]: 13: Hoare triple {37563#true} assume true; {37563#true} is VALID [2022-04-27 11:38:13,743 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {37563#true} {37563#true} #111#return; {37563#true} is VALID [2022-04-27 11:38:13,743 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 11:38:13,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:13,794 INFO L290 TraceCheckUtils]: 0: Hoare triple {37563#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {37600#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:38:13,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {37600#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37601#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:38:13,795 INFO L290 TraceCheckUtils]: 2: Hoare triple {37601#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37602#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:38:13,796 INFO L290 TraceCheckUtils]: 3: Hoare triple {37602#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:13,796 INFO L290 TraceCheckUtils]: 4: Hoare triple {37603#(<= student_version_~i~1 3)} assume !(~b~1 < ~n); {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:13,796 INFO L290 TraceCheckUtils]: 5: Hoare triple {37603#(<= student_version_~i~1 3)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:13,796 INFO L290 TraceCheckUtils]: 6: Hoare triple {37603#(<= student_version_~i~1 3)} assume !(~l~1 < ~m); {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:13,796 INFO L290 TraceCheckUtils]: 7: Hoare triple {37603#(<= student_version_~i~1 3)} ~x~1 := 0;~y~1 := 0; {37604#(<= student_version_~i~1 (+ 3 student_version_~x~1))} is VALID [2022-04-27 11:38:13,797 INFO L290 TraceCheckUtils]: 8: Hoare triple {37604#(<= 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; {37605#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-27 11:38:13,797 INFO L290 TraceCheckUtils]: 9: Hoare triple {37605#(<= 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; {37606#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-27 11:38:13,797 INFO L290 TraceCheckUtils]: 10: Hoare triple {37606#(<= 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; {37607#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:38:13,798 INFO L290 TraceCheckUtils]: 11: Hoare triple {37607#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {37564#false} is VALID [2022-04-27 11:38:13,798 INFO L290 TraceCheckUtils]: 12: Hoare triple {37564#false} assume !(~x~1 < ~i~1); {37564#false} is VALID [2022-04-27 11:38:13,798 INFO L290 TraceCheckUtils]: 13: Hoare triple {37564#false} #res := ~y~1; {37564#false} is VALID [2022-04-27 11:38:13,798 INFO L290 TraceCheckUtils]: 14: Hoare triple {37564#false} assume true; {37564#false} is VALID [2022-04-27 11:38:13,798 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {37564#false} {37563#true} #113#return; {37564#false} is VALID [2022-04-27 11:38:13,798 INFO L272 TraceCheckUtils]: 0: Hoare triple {37563#true} call ULTIMATE.init(); {37599#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:38:13,798 INFO L290 TraceCheckUtils]: 1: Hoare triple {37599#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {37563#true} is VALID [2022-04-27 11:38:13,798 INFO L290 TraceCheckUtils]: 2: Hoare triple {37563#true} assume true; {37563#true} is VALID [2022-04-27 11:38:13,798 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37563#true} {37563#true} #117#return; {37563#true} is VALID [2022-04-27 11:38:13,798 INFO L272 TraceCheckUtils]: 4: Hoare triple {37563#true} call #t~ret10 := main(); {37563#true} is VALID [2022-04-27 11:38:13,798 INFO L290 TraceCheckUtils]: 5: Hoare triple {37563#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {37563#true} is VALID [2022-04-27 11:38:13,798 INFO L290 TraceCheckUtils]: 6: Hoare triple {37563#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L272 TraceCheckUtils]: 7: Hoare triple {37563#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L290 TraceCheckUtils]: 8: Hoare triple {37563#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L290 TraceCheckUtils]: 9: Hoare triple {37563#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L290 TraceCheckUtils]: 10: Hoare triple {37563#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L290 TraceCheckUtils]: 11: Hoare triple {37563#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L290 TraceCheckUtils]: 12: Hoare triple {37563#true} assume !(~b~0 < ~n); {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L290 TraceCheckUtils]: 13: Hoare triple {37563#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L290 TraceCheckUtils]: 14: Hoare triple {37563#true} assume !(~l~0 < ~m); {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L290 TraceCheckUtils]: 15: Hoare triple {37563#true} ~x~0 := 0;~y~0 := 0; {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L290 TraceCheckUtils]: 16: Hoare triple {37563#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L290 TraceCheckUtils]: 17: Hoare triple {37563#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L290 TraceCheckUtils]: 18: Hoare triple {37563#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L290 TraceCheckUtils]: 19: Hoare triple {37563#true} assume !(~x~0 < ~i~0); {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L290 TraceCheckUtils]: 20: Hoare triple {37563#true} #res := ~y~0; {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L290 TraceCheckUtils]: 21: Hoare triple {37563#true} assume true; {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {37563#true} {37563#true} #111#return; {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L290 TraceCheckUtils]: 23: Hoare triple {37563#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {37563#true} is VALID [2022-04-27 11:38:13,799 INFO L272 TraceCheckUtils]: 24: Hoare triple {37563#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {37563#true} is VALID [2022-04-27 11:38:13,800 INFO L290 TraceCheckUtils]: 25: Hoare triple {37563#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {37600#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:38:13,800 INFO L290 TraceCheckUtils]: 26: Hoare triple {37600#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37601#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:38:13,801 INFO L290 TraceCheckUtils]: 27: Hoare triple {37601#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37602#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:38:13,801 INFO L290 TraceCheckUtils]: 28: Hoare triple {37602#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:13,801 INFO L290 TraceCheckUtils]: 29: Hoare triple {37603#(<= student_version_~i~1 3)} assume !(~b~1 < ~n); {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:13,801 INFO L290 TraceCheckUtils]: 30: Hoare triple {37603#(<= student_version_~i~1 3)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:13,802 INFO L290 TraceCheckUtils]: 31: Hoare triple {37603#(<= student_version_~i~1 3)} assume !(~l~1 < ~m); {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:13,802 INFO L290 TraceCheckUtils]: 32: Hoare triple {37603#(<= student_version_~i~1 3)} ~x~1 := 0;~y~1 := 0; {37604#(<= student_version_~i~1 (+ 3 student_version_~x~1))} is VALID [2022-04-27 11:38:13,802 INFO L290 TraceCheckUtils]: 33: Hoare triple {37604#(<= 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; {37605#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-27 11:38:13,803 INFO L290 TraceCheckUtils]: 34: Hoare triple {37605#(<= 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; {37606#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-27 11:38:13,803 INFO L290 TraceCheckUtils]: 35: Hoare triple {37606#(<= 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; {37607#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:38:13,803 INFO L290 TraceCheckUtils]: 36: Hoare triple {37607#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {37564#false} is VALID [2022-04-27 11:38:13,804 INFO L290 TraceCheckUtils]: 37: Hoare triple {37564#false} assume !(~x~1 < ~i~1); {37564#false} is VALID [2022-04-27 11:38:13,804 INFO L290 TraceCheckUtils]: 38: Hoare triple {37564#false} #res := ~y~1; {37564#false} is VALID [2022-04-27 11:38:13,804 INFO L290 TraceCheckUtils]: 39: Hoare triple {37564#false} assume true; {37564#false} is VALID [2022-04-27 11:38:13,804 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {37564#false} {37563#true} #113#return; {37564#false} is VALID [2022-04-27 11:38:13,804 INFO L290 TraceCheckUtils]: 41: Hoare triple {37564#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {37564#false} is VALID [2022-04-27 11:38:13,804 INFO L272 TraceCheckUtils]: 42: Hoare triple {37564#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {37564#false} is VALID [2022-04-27 11:38:13,804 INFO L290 TraceCheckUtils]: 43: Hoare triple {37564#false} ~cond := #in~cond; {37564#false} is VALID [2022-04-27 11:38:13,804 INFO L290 TraceCheckUtils]: 44: Hoare triple {37564#false} assume 0 == ~cond; {37564#false} is VALID [2022-04-27 11:38:13,804 INFO L290 TraceCheckUtils]: 45: Hoare triple {37564#false} assume !false; {37564#false} is VALID [2022-04-27 11:38:13,804 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-27 11:38:13,804 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:38:13,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1373095298] [2022-04-27 11:38:13,804 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1373095298] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:38:13,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [460561194] [2022-04-27 11:38:13,804 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:38:13,805 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:38:13,805 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:38:13,805 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-27 11:38:13,852 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-27 11:38:13,889 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:38:13,890 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:38:13,890 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 11:38:13,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:13,898 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:38:14,060 INFO L272 TraceCheckUtils]: 0: Hoare triple {37563#true} call ULTIMATE.init(); {37563#true} is VALID [2022-04-27 11:38:14,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {37563#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {37563#true} is VALID [2022-04-27 11:38:14,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {37563#true} assume true; {37563#true} is VALID [2022-04-27 11:38:14,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37563#true} {37563#true} #117#return; {37563#true} is VALID [2022-04-27 11:38:14,060 INFO L272 TraceCheckUtils]: 4: Hoare triple {37563#true} call #t~ret10 := main(); {37563#true} is VALID [2022-04-27 11:38:14,060 INFO L290 TraceCheckUtils]: 5: Hoare triple {37563#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {37563#true} is VALID [2022-04-27 11:38:14,060 INFO L290 TraceCheckUtils]: 6: Hoare triple {37563#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {37563#true} is VALID [2022-04-27 11:38:14,060 INFO L272 TraceCheckUtils]: 7: Hoare triple {37563#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {37563#true} is VALID [2022-04-27 11:38:14,060 INFO L290 TraceCheckUtils]: 8: Hoare triple {37563#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {37563#true} is VALID [2022-04-27 11:38:14,060 INFO L290 TraceCheckUtils]: 9: Hoare triple {37563#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37563#true} is VALID [2022-04-27 11:38:14,061 INFO L290 TraceCheckUtils]: 10: Hoare triple {37563#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37563#true} is VALID [2022-04-27 11:38:14,061 INFO L290 TraceCheckUtils]: 11: Hoare triple {37563#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37563#true} is VALID [2022-04-27 11:38:14,061 INFO L290 TraceCheckUtils]: 12: Hoare triple {37563#true} assume !(~b~0 < ~n); {37563#true} is VALID [2022-04-27 11:38:14,061 INFO L290 TraceCheckUtils]: 13: Hoare triple {37563#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37563#true} is VALID [2022-04-27 11:38:14,061 INFO L290 TraceCheckUtils]: 14: Hoare triple {37563#true} assume !(~l~0 < ~m); {37563#true} is VALID [2022-04-27 11:38:14,061 INFO L290 TraceCheckUtils]: 15: Hoare triple {37563#true} ~x~0 := 0;~y~0 := 0; {37563#true} is VALID [2022-04-27 11:38:14,061 INFO L290 TraceCheckUtils]: 16: Hoare triple {37563#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37563#true} is VALID [2022-04-27 11:38:14,061 INFO L290 TraceCheckUtils]: 17: Hoare triple {37563#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37563#true} is VALID [2022-04-27 11:38:14,061 INFO L290 TraceCheckUtils]: 18: Hoare triple {37563#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37563#true} is VALID [2022-04-27 11:38:14,062 INFO L290 TraceCheckUtils]: 19: Hoare triple {37563#true} assume !(~x~0 < ~i~0); {37563#true} is VALID [2022-04-27 11:38:14,062 INFO L290 TraceCheckUtils]: 20: Hoare triple {37563#true} #res := ~y~0; {37563#true} is VALID [2022-04-27 11:38:14,062 INFO L290 TraceCheckUtils]: 21: Hoare triple {37563#true} assume true; {37563#true} is VALID [2022-04-27 11:38:14,062 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {37563#true} {37563#true} #111#return; {37563#true} is VALID [2022-04-27 11:38:14,062 INFO L290 TraceCheckUtils]: 23: Hoare triple {37563#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {37563#true} is VALID [2022-04-27 11:38:14,062 INFO L272 TraceCheckUtils]: 24: Hoare triple {37563#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {37563#true} is VALID [2022-04-27 11:38:14,062 INFO L290 TraceCheckUtils]: 25: Hoare triple {37563#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {37600#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:38:14,063 INFO L290 TraceCheckUtils]: 26: Hoare triple {37600#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37601#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:38:14,063 INFO L290 TraceCheckUtils]: 27: Hoare triple {37601#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37602#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:38:14,064 INFO L290 TraceCheckUtils]: 28: Hoare triple {37602#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:14,064 INFO L290 TraceCheckUtils]: 29: Hoare triple {37603#(<= student_version_~i~1 3)} assume !(~b~1 < ~n); {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:14,064 INFO L290 TraceCheckUtils]: 30: Hoare triple {37603#(<= student_version_~i~1 3)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:14,064 INFO L290 TraceCheckUtils]: 31: Hoare triple {37603#(<= student_version_~i~1 3)} assume !(~l~1 < ~m); {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:14,065 INFO L290 TraceCheckUtils]: 32: Hoare triple {37603#(<= student_version_~i~1 3)} ~x~1 := 0;~y~1 := 0; {37707#(and (<= student_version_~i~1 3) (<= 0 student_version_~x~1))} is VALID [2022-04-27 11:38:14,065 INFO L290 TraceCheckUtils]: 33: Hoare triple {37707#(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; {37711#(and (<= 1 student_version_~x~1) (<= student_version_~i~1 3))} is VALID [2022-04-27 11:38:14,066 INFO L290 TraceCheckUtils]: 34: Hoare triple {37711#(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; {37715#(and (<= 2 student_version_~x~1) (<= student_version_~i~1 3))} is VALID [2022-04-27 11:38:14,066 INFO L290 TraceCheckUtils]: 35: Hoare triple {37715#(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; {37719#(and (<= student_version_~i~1 3) (<= 3 student_version_~x~1))} is VALID [2022-04-27 11:38:14,067 INFO L290 TraceCheckUtils]: 36: Hoare triple {37719#(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; {37564#false} is VALID [2022-04-27 11:38:14,067 INFO L290 TraceCheckUtils]: 37: Hoare triple {37564#false} assume !(~x~1 < ~i~1); {37564#false} is VALID [2022-04-27 11:38:14,067 INFO L290 TraceCheckUtils]: 38: Hoare triple {37564#false} #res := ~y~1; {37564#false} is VALID [2022-04-27 11:38:14,067 INFO L290 TraceCheckUtils]: 39: Hoare triple {37564#false} assume true; {37564#false} is VALID [2022-04-27 11:38:14,067 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {37564#false} {37563#true} #113#return; {37564#false} is VALID [2022-04-27 11:38:14,067 INFO L290 TraceCheckUtils]: 41: Hoare triple {37564#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {37564#false} is VALID [2022-04-27 11:38:14,067 INFO L272 TraceCheckUtils]: 42: Hoare triple {37564#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {37564#false} is VALID [2022-04-27 11:38:14,067 INFO L290 TraceCheckUtils]: 43: Hoare triple {37564#false} ~cond := #in~cond; {37564#false} is VALID [2022-04-27 11:38:14,067 INFO L290 TraceCheckUtils]: 44: Hoare triple {37564#false} assume 0 == ~cond; {37564#false} is VALID [2022-04-27 11:38:14,067 INFO L290 TraceCheckUtils]: 45: Hoare triple {37564#false} assume !false; {37564#false} is VALID [2022-04-27 11:38:14,068 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-27 11:38:14,068 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:38:14,241 INFO L290 TraceCheckUtils]: 45: Hoare triple {37564#false} assume !false; {37564#false} is VALID [2022-04-27 11:38:14,242 INFO L290 TraceCheckUtils]: 44: Hoare triple {37564#false} assume 0 == ~cond; {37564#false} is VALID [2022-04-27 11:38:14,242 INFO L290 TraceCheckUtils]: 43: Hoare triple {37564#false} ~cond := #in~cond; {37564#false} is VALID [2022-04-27 11:38:14,242 INFO L272 TraceCheckUtils]: 42: Hoare triple {37564#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {37564#false} is VALID [2022-04-27 11:38:14,242 INFO L290 TraceCheckUtils]: 41: Hoare triple {37564#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {37564#false} is VALID [2022-04-27 11:38:14,242 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {37564#false} {37563#true} #113#return; {37564#false} is VALID [2022-04-27 11:38:14,242 INFO L290 TraceCheckUtils]: 39: Hoare triple {37564#false} assume true; {37564#false} is VALID [2022-04-27 11:38:14,242 INFO L290 TraceCheckUtils]: 38: Hoare triple {37564#false} #res := ~y~1; {37564#false} is VALID [2022-04-27 11:38:14,242 INFO L290 TraceCheckUtils]: 37: Hoare triple {37564#false} assume !(~x~1 < ~i~1); {37564#false} is VALID [2022-04-27 11:38:14,242 INFO L290 TraceCheckUtils]: 36: Hoare triple {37607#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {37564#false} is VALID [2022-04-27 11:38:14,243 INFO L290 TraceCheckUtils]: 35: Hoare triple {37606#(<= 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; {37607#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:38:14,243 INFO L290 TraceCheckUtils]: 34: Hoare triple {37605#(<= 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; {37606#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-27 11:38:14,244 INFO L290 TraceCheckUtils]: 33: Hoare triple {37604#(<= 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; {37605#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-27 11:38:14,244 INFO L290 TraceCheckUtils]: 32: Hoare triple {37603#(<= student_version_~i~1 3)} ~x~1 := 0;~y~1 := 0; {37604#(<= student_version_~i~1 (+ 3 student_version_~x~1))} is VALID [2022-04-27 11:38:14,244 INFO L290 TraceCheckUtils]: 31: Hoare triple {37603#(<= student_version_~i~1 3)} assume !(~l~1 < ~m); {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:14,245 INFO L290 TraceCheckUtils]: 30: Hoare triple {37603#(<= student_version_~i~1 3)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:14,245 INFO L290 TraceCheckUtils]: 29: Hoare triple {37603#(<= student_version_~i~1 3)} assume !(~b~1 < ~n); {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:14,246 INFO L290 TraceCheckUtils]: 28: Hoare triple {37602#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37603#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:38:14,246 INFO L290 TraceCheckUtils]: 27: Hoare triple {37601#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37602#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:38:14,246 INFO L290 TraceCheckUtils]: 26: Hoare triple {37600#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {37601#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:38:14,247 INFO L290 TraceCheckUtils]: 25: Hoare triple {37563#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {37600#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:38:14,247 INFO L272 TraceCheckUtils]: 24: Hoare triple {37563#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {37563#true} is VALID [2022-04-27 11:38:14,247 INFO L290 TraceCheckUtils]: 23: Hoare triple {37563#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {37563#true} is VALID [2022-04-27 11:38:14,247 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {37563#true} {37563#true} #111#return; {37563#true} is VALID [2022-04-27 11:38:14,247 INFO L290 TraceCheckUtils]: 21: Hoare triple {37563#true} assume true; {37563#true} is VALID [2022-04-27 11:38:14,247 INFO L290 TraceCheckUtils]: 20: Hoare triple {37563#true} #res := ~y~0; {37563#true} is VALID [2022-04-27 11:38:14,247 INFO L290 TraceCheckUtils]: 19: Hoare triple {37563#true} assume !(~x~0 < ~i~0); {37563#true} is VALID [2022-04-27 11:38:14,247 INFO L290 TraceCheckUtils]: 18: Hoare triple {37563#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37563#true} is VALID [2022-04-27 11:38:14,247 INFO L290 TraceCheckUtils]: 17: Hoare triple {37563#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37563#true} is VALID [2022-04-27 11:38:14,247 INFO L290 TraceCheckUtils]: 16: Hoare triple {37563#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {37563#true} is VALID [2022-04-27 11:38:14,247 INFO L290 TraceCheckUtils]: 15: Hoare triple {37563#true} ~x~0 := 0;~y~0 := 0; {37563#true} is VALID [2022-04-27 11:38:14,247 INFO L290 TraceCheckUtils]: 14: Hoare triple {37563#true} assume !(~l~0 < ~m); {37563#true} is VALID [2022-04-27 11:38:14,248 INFO L290 TraceCheckUtils]: 13: Hoare triple {37563#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {37563#true} is VALID [2022-04-27 11:38:14,248 INFO L290 TraceCheckUtils]: 12: Hoare triple {37563#true} assume !(~b~0 < ~n); {37563#true} is VALID [2022-04-27 11:38:14,248 INFO L290 TraceCheckUtils]: 11: Hoare triple {37563#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37563#true} is VALID [2022-04-27 11:38:14,248 INFO L290 TraceCheckUtils]: 10: Hoare triple {37563#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37563#true} is VALID [2022-04-27 11:38:14,248 INFO L290 TraceCheckUtils]: 9: Hoare triple {37563#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {37563#true} is VALID [2022-04-27 11:38:14,248 INFO L290 TraceCheckUtils]: 8: Hoare triple {37563#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {37563#true} is VALID [2022-04-27 11:38:14,248 INFO L272 TraceCheckUtils]: 7: Hoare triple {37563#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {37563#true} is VALID [2022-04-27 11:38:14,248 INFO L290 TraceCheckUtils]: 6: Hoare triple {37563#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {37563#true} is VALID [2022-04-27 11:38:14,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {37563#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {37563#true} is VALID [2022-04-27 11:38:14,248 INFO L272 TraceCheckUtils]: 4: Hoare triple {37563#true} call #t~ret10 := main(); {37563#true} is VALID [2022-04-27 11:38:14,248 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37563#true} {37563#true} #117#return; {37563#true} is VALID [2022-04-27 11:38:14,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {37563#true} assume true; {37563#true} is VALID [2022-04-27 11:38:14,248 INFO L290 TraceCheckUtils]: 1: Hoare triple {37563#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {37563#true} is VALID [2022-04-27 11:38:14,248 INFO L272 TraceCheckUtils]: 0: Hoare triple {37563#true} call ULTIMATE.init(); {37563#true} is VALID [2022-04-27 11:38:14,250 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-27 11:38:14,251 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [460561194] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:38:14,251 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:38:14,251 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10, 10] total 15 [2022-04-27 11:38:14,251 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [273300004] [2022-04-27 11:38:14,251 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:38:14,251 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 14 states have internal predecessors, (40), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 46 [2022-04-27 11:38:14,251 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:38:14,251 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 14 states have internal predecessors, (40), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:38:14,283 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-27 11:38:14,283 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 11:38:14,283 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:38:14,283 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 11:38:14,283 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=151, Unknown=0, NotChecked=0, Total=210 [2022-04-27 11:38:14,283 INFO L87 Difference]: Start difference. First operand 246 states and 286 transitions. Second operand has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 14 states have internal predecessors, (40), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:38:15,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:15,561 INFO L93 Difference]: Finished difference Result 332 states and 391 transitions. [2022-04-27 11:38:15,561 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-27 11:38:15,561 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 14 states have internal predecessors, (40), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 46 [2022-04-27 11:38:15,561 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:38:15,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 14 states have internal predecessors, (40), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:38:15,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 82 transitions. [2022-04-27 11:38:15,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 14 states have internal predecessors, (40), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:38:15,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 82 transitions. [2022-04-27 11:38:15,562 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 82 transitions. [2022-04-27 11:38:15,604 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-27 11:38:15,609 INFO L225 Difference]: With dead ends: 332 [2022-04-27 11:38:15,609 INFO L226 Difference]: Without dead ends: 302 [2022-04-27 11:38:15,610 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 93 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 143 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=223, Invalid=589, Unknown=0, NotChecked=0, Total=812 [2022-04-27 11:38:15,610 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 80 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 265 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 84 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 283 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 265 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:38:15,610 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [84 Valid, 72 Invalid, 283 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 265 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:38:15,610 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 302 states. [2022-04-27 11:38:16,547 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 302 to 284. [2022-04-27 11:38:16,548 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:38:16,548 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-27 11:38:16,548 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-27 11:38:16,548 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-27 11:38:16,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:16,552 INFO L93 Difference]: Finished difference Result 302 states and 349 transitions. [2022-04-27 11:38:16,552 INFO L276 IsEmpty]: Start isEmpty. Operand 302 states and 349 transitions. [2022-04-27 11:38:16,553 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:16,553 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:16,553 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-27 11:38:16,553 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-27 11:38:16,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:16,557 INFO L93 Difference]: Finished difference Result 302 states and 349 transitions. [2022-04-27 11:38:16,557 INFO L276 IsEmpty]: Start isEmpty. Operand 302 states and 349 transitions. [2022-04-27 11:38:16,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:16,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:16,558 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:38:16,558 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:38:16,559 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-27 11:38:16,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 284 states to 284 states and 331 transitions. [2022-04-27 11:38:16,563 INFO L78 Accepts]: Start accepts. Automaton has 284 states and 331 transitions. Word has length 46 [2022-04-27 11:38:16,563 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:38:16,563 INFO L495 AbstractCegarLoop]: Abstraction has 284 states and 331 transitions. [2022-04-27 11:38:16,564 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 14 states have internal predecessors, (40), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:38:16,564 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 331 transitions. [2022-04-27 11:38:16,564 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-27 11:38:16,564 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:38:16,564 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:38:16,581 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-27 11:38:16,780 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable41,33 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:38:16,781 INFO L420 AbstractCegarLoop]: === Iteration 43 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:38:16,781 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:38:16,781 INFO L85 PathProgramCache]: Analyzing trace with hash -467445298, now seen corresponding path program 33 times [2022-04-27 11:38:16,781 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:38:16,781 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2114050312] [2022-04-27 11:38:16,781 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:38:16,781 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:38:16,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:16,816 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:38:16,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:16,819 INFO L290 TraceCheckUtils]: 0: Hoare triple {39429#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {39393#true} is VALID [2022-04-27 11:38:16,819 INFO L290 TraceCheckUtils]: 1: Hoare triple {39393#true} assume true; {39393#true} is VALID [2022-04-27 11:38:16,819 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {39393#true} {39393#true} #117#return; {39393#true} is VALID [2022-04-27 11:38:16,819 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:38:16,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:16,867 INFO L290 TraceCheckUtils]: 0: Hoare triple {39393#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {39430#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:38:16,868 INFO L290 TraceCheckUtils]: 1: Hoare triple {39430#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {39431#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:38:16,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {39431#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {39432#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:38:16,869 INFO L290 TraceCheckUtils]: 3: Hoare triple {39432#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:16,869 INFO L290 TraceCheckUtils]: 4: Hoare triple {39433#(<= correct_version_~i~0 3)} assume !(~b~0 < ~n); {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:16,869 INFO L290 TraceCheckUtils]: 5: Hoare triple {39433#(<= correct_version_~i~0 3)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:16,869 INFO L290 TraceCheckUtils]: 6: Hoare triple {39433#(<= correct_version_~i~0 3)} assume !(~l~0 < ~m); {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:16,870 INFO L290 TraceCheckUtils]: 7: Hoare triple {39433#(<= correct_version_~i~0 3)} ~x~0 := 0;~y~0 := 0; {39434#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} is VALID [2022-04-27 11:38:16,870 INFO L290 TraceCheckUtils]: 8: Hoare triple {39434#(<= 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; {39435#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-27 11:38:16,870 INFO L290 TraceCheckUtils]: 9: Hoare triple {39435#(<= 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; {39436#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-27 11:38:16,871 INFO L290 TraceCheckUtils]: 10: Hoare triple {39436#(<= 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; {39437#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:38:16,871 INFO L290 TraceCheckUtils]: 11: Hoare triple {39437#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {39394#false} is VALID [2022-04-27 11:38:16,871 INFO L290 TraceCheckUtils]: 12: Hoare triple {39394#false} assume !(~x~0 < ~i~0); {39394#false} is VALID [2022-04-27 11:38:16,871 INFO L290 TraceCheckUtils]: 13: Hoare triple {39394#false} #res := ~y~0; {39394#false} is VALID [2022-04-27 11:38:16,871 INFO L290 TraceCheckUtils]: 14: Hoare triple {39394#false} assume true; {39394#false} is VALID [2022-04-27 11:38:16,871 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {39394#false} {39393#true} #111#return; {39394#false} is VALID [2022-04-27 11:38:16,871 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-27 11:38:16,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:16,878 INFO L290 TraceCheckUtils]: 0: Hoare triple {39393#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {39393#true} is VALID [2022-04-27 11:38:16,878 INFO L290 TraceCheckUtils]: 1: Hoare triple {39393#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {39393#true} is VALID [2022-04-27 11:38:16,878 INFO L290 TraceCheckUtils]: 2: Hoare triple {39393#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {39393#true} is VALID [2022-04-27 11:38:16,878 INFO L290 TraceCheckUtils]: 3: Hoare triple {39393#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {39393#true} is VALID [2022-04-27 11:38:16,878 INFO L290 TraceCheckUtils]: 4: Hoare triple {39393#true} assume !(~b~1 < ~n); {39393#true} is VALID [2022-04-27 11:38:16,878 INFO L290 TraceCheckUtils]: 5: Hoare triple {39393#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {39393#true} is VALID [2022-04-27 11:38:16,878 INFO L290 TraceCheckUtils]: 6: Hoare triple {39393#true} assume !(~l~1 < ~m); {39393#true} is VALID [2022-04-27 11:38:16,879 INFO L290 TraceCheckUtils]: 7: Hoare triple {39393#true} ~x~1 := 0;~y~1 := 0; {39393#true} is VALID [2022-04-27 11:38:16,879 INFO L290 TraceCheckUtils]: 8: Hoare triple {39393#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {39393#true} is VALID [2022-04-27 11:38:16,879 INFO L290 TraceCheckUtils]: 9: Hoare triple {39393#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {39393#true} is VALID [2022-04-27 11:38:16,879 INFO L290 TraceCheckUtils]: 10: Hoare triple {39393#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {39393#true} is VALID [2022-04-27 11:38:16,879 INFO L290 TraceCheckUtils]: 11: Hoare triple {39393#true} assume !(~x~1 < ~i~1); {39393#true} is VALID [2022-04-27 11:38:16,879 INFO L290 TraceCheckUtils]: 12: Hoare triple {39393#true} #res := ~y~1; {39393#true} is VALID [2022-04-27 11:38:16,879 INFO L290 TraceCheckUtils]: 13: Hoare triple {39393#true} assume true; {39393#true} is VALID [2022-04-27 11:38:16,879 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {39393#true} {39394#false} #113#return; {39394#false} is VALID [2022-04-27 11:38:16,879 INFO L272 TraceCheckUtils]: 0: Hoare triple {39393#true} call ULTIMATE.init(); {39429#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:38:16,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {39429#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {39393#true} is VALID [2022-04-27 11:38:16,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {39393#true} assume true; {39393#true} is VALID [2022-04-27 11:38:16,879 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39393#true} {39393#true} #117#return; {39393#true} is VALID [2022-04-27 11:38:16,880 INFO L272 TraceCheckUtils]: 4: Hoare triple {39393#true} call #t~ret10 := main(); {39393#true} is VALID [2022-04-27 11:38:16,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {39393#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {39393#true} is VALID [2022-04-27 11:38:16,880 INFO L290 TraceCheckUtils]: 6: Hoare triple {39393#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {39393#true} is VALID [2022-04-27 11:38:16,880 INFO L272 TraceCheckUtils]: 7: Hoare triple {39393#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {39393#true} is VALID [2022-04-27 11:38:16,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {39393#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {39430#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:38:16,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {39430#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {39431#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:38:16,881 INFO L290 TraceCheckUtils]: 10: Hoare triple {39431#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {39432#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:38:16,881 INFO L290 TraceCheckUtils]: 11: Hoare triple {39432#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:16,881 INFO L290 TraceCheckUtils]: 12: Hoare triple {39433#(<= correct_version_~i~0 3)} assume !(~b~0 < ~n); {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:16,882 INFO L290 TraceCheckUtils]: 13: Hoare triple {39433#(<= correct_version_~i~0 3)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:16,882 INFO L290 TraceCheckUtils]: 14: Hoare triple {39433#(<= correct_version_~i~0 3)} assume !(~l~0 < ~m); {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:16,882 INFO L290 TraceCheckUtils]: 15: Hoare triple {39433#(<= correct_version_~i~0 3)} ~x~0 := 0;~y~0 := 0; {39434#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} is VALID [2022-04-27 11:38:16,883 INFO L290 TraceCheckUtils]: 16: Hoare triple {39434#(<= 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; {39435#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-27 11:38:16,883 INFO L290 TraceCheckUtils]: 17: Hoare triple {39435#(<= 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; {39436#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-27 11:38:16,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {39436#(<= 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; {39437#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:38:16,884 INFO L290 TraceCheckUtils]: 19: Hoare triple {39437#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {39394#false} is VALID [2022-04-27 11:38:16,884 INFO L290 TraceCheckUtils]: 20: Hoare triple {39394#false} assume !(~x~0 < ~i~0); {39394#false} is VALID [2022-04-27 11:38:16,884 INFO L290 TraceCheckUtils]: 21: Hoare triple {39394#false} #res := ~y~0; {39394#false} is VALID [2022-04-27 11:38:16,884 INFO L290 TraceCheckUtils]: 22: Hoare triple {39394#false} assume true; {39394#false} is VALID [2022-04-27 11:38:16,884 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {39394#false} {39393#true} #111#return; {39394#false} is VALID [2022-04-27 11:38:16,884 INFO L290 TraceCheckUtils]: 24: Hoare triple {39394#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {39394#false} is VALID [2022-04-27 11:38:16,884 INFO L272 TraceCheckUtils]: 25: Hoare triple {39394#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {39393#true} is VALID [2022-04-27 11:38:16,884 INFO L290 TraceCheckUtils]: 26: Hoare triple {39393#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {39393#true} is VALID [2022-04-27 11:38:16,884 INFO L290 TraceCheckUtils]: 27: Hoare triple {39393#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {39393#true} is VALID [2022-04-27 11:38:16,884 INFO L290 TraceCheckUtils]: 28: Hoare triple {39393#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {39393#true} is VALID [2022-04-27 11:38:16,884 INFO L290 TraceCheckUtils]: 29: Hoare triple {39393#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {39393#true} is VALID [2022-04-27 11:38:16,884 INFO L290 TraceCheckUtils]: 30: Hoare triple {39393#true} assume !(~b~1 < ~n); {39393#true} is VALID [2022-04-27 11:38:16,884 INFO L290 TraceCheckUtils]: 31: Hoare triple {39393#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {39393#true} is VALID [2022-04-27 11:38:16,884 INFO L290 TraceCheckUtils]: 32: Hoare triple {39393#true} assume !(~l~1 < ~m); {39393#true} is VALID [2022-04-27 11:38:16,884 INFO L290 TraceCheckUtils]: 33: Hoare triple {39393#true} ~x~1 := 0;~y~1 := 0; {39393#true} is VALID [2022-04-27 11:38:16,885 INFO L290 TraceCheckUtils]: 34: Hoare triple {39393#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {39393#true} is VALID [2022-04-27 11:38:16,885 INFO L290 TraceCheckUtils]: 35: Hoare triple {39393#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {39393#true} is VALID [2022-04-27 11:38:16,885 INFO L290 TraceCheckUtils]: 36: Hoare triple {39393#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {39393#true} is VALID [2022-04-27 11:38:16,885 INFO L290 TraceCheckUtils]: 37: Hoare triple {39393#true} assume !(~x~1 < ~i~1); {39393#true} is VALID [2022-04-27 11:38:16,885 INFO L290 TraceCheckUtils]: 38: Hoare triple {39393#true} #res := ~y~1; {39393#true} is VALID [2022-04-27 11:38:16,885 INFO L290 TraceCheckUtils]: 39: Hoare triple {39393#true} assume true; {39393#true} is VALID [2022-04-27 11:38:16,885 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {39393#true} {39394#false} #113#return; {39394#false} is VALID [2022-04-27 11:38:16,885 INFO L290 TraceCheckUtils]: 41: Hoare triple {39394#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {39394#false} is VALID [2022-04-27 11:38:16,885 INFO L272 TraceCheckUtils]: 42: Hoare triple {39394#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {39394#false} is VALID [2022-04-27 11:38:16,885 INFO L290 TraceCheckUtils]: 43: Hoare triple {39394#false} ~cond := #in~cond; {39394#false} is VALID [2022-04-27 11:38:16,885 INFO L290 TraceCheckUtils]: 44: Hoare triple {39394#false} assume 0 == ~cond; {39394#false} is VALID [2022-04-27 11:38:16,885 INFO L290 TraceCheckUtils]: 45: Hoare triple {39394#false} assume !false; {39394#false} is VALID [2022-04-27 11:38:16,885 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-27 11:38:16,885 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:38:16,886 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2114050312] [2022-04-27 11:38:16,886 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2114050312] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:38:16,886 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1864027123] [2022-04-27 11:38:16,886 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:38:16,886 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:38:16,886 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:38:16,887 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-27 11:38:16,888 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-27 11:38:16,949 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-27 11:38:16,949 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:38:16,950 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 11:38:16,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:16,957 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:38:17,051 INFO L272 TraceCheckUtils]: 0: Hoare triple {39393#true} call ULTIMATE.init(); {39393#true} is VALID [2022-04-27 11:38:17,051 INFO L290 TraceCheckUtils]: 1: Hoare triple {39393#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {39393#true} is VALID [2022-04-27 11:38:17,051 INFO L290 TraceCheckUtils]: 2: Hoare triple {39393#true} assume true; {39393#true} is VALID [2022-04-27 11:38:17,051 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39393#true} {39393#true} #117#return; {39393#true} is VALID [2022-04-27 11:38:17,051 INFO L272 TraceCheckUtils]: 4: Hoare triple {39393#true} call #t~ret10 := main(); {39393#true} is VALID [2022-04-27 11:38:17,051 INFO L290 TraceCheckUtils]: 5: Hoare triple {39393#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {39393#true} is VALID [2022-04-27 11:38:17,052 INFO L290 TraceCheckUtils]: 6: Hoare triple {39393#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {39393#true} is VALID [2022-04-27 11:38:17,052 INFO L272 TraceCheckUtils]: 7: Hoare triple {39393#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {39393#true} is VALID [2022-04-27 11:38:17,052 INFO L290 TraceCheckUtils]: 8: Hoare triple {39393#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {39430#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:38:17,052 INFO L290 TraceCheckUtils]: 9: Hoare triple {39430#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {39431#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:38:17,052 INFO L290 TraceCheckUtils]: 10: Hoare triple {39431#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {39432#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:38:17,053 INFO L290 TraceCheckUtils]: 11: Hoare triple {39432#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:17,053 INFO L290 TraceCheckUtils]: 12: Hoare triple {39433#(<= correct_version_~i~0 3)} assume !(~b~0 < ~n); {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:17,053 INFO L290 TraceCheckUtils]: 13: Hoare triple {39433#(<= correct_version_~i~0 3)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:17,053 INFO L290 TraceCheckUtils]: 14: Hoare triple {39433#(<= correct_version_~i~0 3)} assume !(~l~0 < ~m); {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:17,053 INFO L290 TraceCheckUtils]: 15: Hoare triple {39433#(<= correct_version_~i~0 3)} ~x~0 := 0;~y~0 := 0; {39486#(and (<= 0 correct_version_~x~0) (<= correct_version_~i~0 3))} is VALID [2022-04-27 11:38:17,054 INFO L290 TraceCheckUtils]: 16: Hoare triple {39486#(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; {39490#(and (<= 1 correct_version_~x~0) (<= correct_version_~i~0 3))} is VALID [2022-04-27 11:38:17,054 INFO L290 TraceCheckUtils]: 17: Hoare triple {39490#(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; {39494#(and (<= 2 correct_version_~x~0) (<= correct_version_~i~0 3))} is VALID [2022-04-27 11:38:17,054 INFO L290 TraceCheckUtils]: 18: Hoare triple {39494#(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; {39498#(and (<= 3 correct_version_~x~0) (<= correct_version_~i~0 3))} is VALID [2022-04-27 11:38:17,055 INFO L290 TraceCheckUtils]: 19: Hoare triple {39498#(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; {39394#false} is VALID [2022-04-27 11:38:17,055 INFO L290 TraceCheckUtils]: 20: Hoare triple {39394#false} assume !(~x~0 < ~i~0); {39394#false} is VALID [2022-04-27 11:38:17,055 INFO L290 TraceCheckUtils]: 21: Hoare triple {39394#false} #res := ~y~0; {39394#false} is VALID [2022-04-27 11:38:17,055 INFO L290 TraceCheckUtils]: 22: Hoare triple {39394#false} assume true; {39394#false} is VALID [2022-04-27 11:38:17,055 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {39394#false} {39393#true} #111#return; {39394#false} is VALID [2022-04-27 11:38:17,055 INFO L290 TraceCheckUtils]: 24: Hoare triple {39394#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {39394#false} is VALID [2022-04-27 11:38:17,055 INFO L272 TraceCheckUtils]: 25: Hoare triple {39394#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {39394#false} is VALID [2022-04-27 11:38:17,055 INFO L290 TraceCheckUtils]: 26: Hoare triple {39394#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {39394#false} is VALID [2022-04-27 11:38:17,055 INFO L290 TraceCheckUtils]: 27: Hoare triple {39394#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {39394#false} is VALID [2022-04-27 11:38:17,055 INFO L290 TraceCheckUtils]: 28: Hoare triple {39394#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {39394#false} is VALID [2022-04-27 11:38:17,055 INFO L290 TraceCheckUtils]: 29: Hoare triple {39394#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {39394#false} is VALID [2022-04-27 11:38:17,055 INFO L290 TraceCheckUtils]: 30: Hoare triple {39394#false} assume !(~b~1 < ~n); {39394#false} is VALID [2022-04-27 11:38:17,055 INFO L290 TraceCheckUtils]: 31: Hoare triple {39394#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {39394#false} is VALID [2022-04-27 11:38:17,056 INFO L290 TraceCheckUtils]: 32: Hoare triple {39394#false} assume !(~l~1 < ~m); {39394#false} is VALID [2022-04-27 11:38:17,056 INFO L290 TraceCheckUtils]: 33: Hoare triple {39394#false} ~x~1 := 0;~y~1 := 0; {39394#false} is VALID [2022-04-27 11:38:17,056 INFO L290 TraceCheckUtils]: 34: Hoare triple {39394#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {39394#false} is VALID [2022-04-27 11:38:17,056 INFO L290 TraceCheckUtils]: 35: Hoare triple {39394#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {39394#false} is VALID [2022-04-27 11:38:17,056 INFO L290 TraceCheckUtils]: 36: Hoare triple {39394#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {39394#false} is VALID [2022-04-27 11:38:17,056 INFO L290 TraceCheckUtils]: 37: Hoare triple {39394#false} assume !(~x~1 < ~i~1); {39394#false} is VALID [2022-04-27 11:38:17,056 INFO L290 TraceCheckUtils]: 38: Hoare triple {39394#false} #res := ~y~1; {39394#false} is VALID [2022-04-27 11:38:17,056 INFO L290 TraceCheckUtils]: 39: Hoare triple {39394#false} assume true; {39394#false} is VALID [2022-04-27 11:38:17,056 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {39394#false} {39394#false} #113#return; {39394#false} is VALID [2022-04-27 11:38:17,056 INFO L290 TraceCheckUtils]: 41: Hoare triple {39394#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {39394#false} is VALID [2022-04-27 11:38:17,056 INFO L272 TraceCheckUtils]: 42: Hoare triple {39394#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {39394#false} is VALID [2022-04-27 11:38:17,056 INFO L290 TraceCheckUtils]: 43: Hoare triple {39394#false} ~cond := #in~cond; {39394#false} is VALID [2022-04-27 11:38:17,056 INFO L290 TraceCheckUtils]: 44: Hoare triple {39394#false} assume 0 == ~cond; {39394#false} is VALID [2022-04-27 11:38:17,056 INFO L290 TraceCheckUtils]: 45: Hoare triple {39394#false} assume !false; {39394#false} is VALID [2022-04-27 11:38:17,056 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-27 11:38:17,056 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:38:17,148 INFO L290 TraceCheckUtils]: 45: Hoare triple {39394#false} assume !false; {39394#false} is VALID [2022-04-27 11:38:17,148 INFO L290 TraceCheckUtils]: 44: Hoare triple {39394#false} assume 0 == ~cond; {39394#false} is VALID [2022-04-27 11:38:17,148 INFO L290 TraceCheckUtils]: 43: Hoare triple {39394#false} ~cond := #in~cond; {39394#false} is VALID [2022-04-27 11:38:17,148 INFO L272 TraceCheckUtils]: 42: Hoare triple {39394#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {39394#false} is VALID [2022-04-27 11:38:17,148 INFO L290 TraceCheckUtils]: 41: Hoare triple {39394#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {39394#false} is VALID [2022-04-27 11:38:17,148 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {39393#true} {39394#false} #113#return; {39394#false} is VALID [2022-04-27 11:38:17,148 INFO L290 TraceCheckUtils]: 39: Hoare triple {39393#true} assume true; {39393#true} is VALID [2022-04-27 11:38:17,148 INFO L290 TraceCheckUtils]: 38: Hoare triple {39393#true} #res := ~y~1; {39393#true} is VALID [2022-04-27 11:38:17,148 INFO L290 TraceCheckUtils]: 37: Hoare triple {39393#true} assume !(~x~1 < ~i~1); {39393#true} is VALID [2022-04-27 11:38:17,148 INFO L290 TraceCheckUtils]: 36: Hoare triple {39393#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {39393#true} is VALID [2022-04-27 11:38:17,148 INFO L290 TraceCheckUtils]: 35: Hoare triple {39393#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {39393#true} is VALID [2022-04-27 11:38:17,148 INFO L290 TraceCheckUtils]: 34: Hoare triple {39393#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {39393#true} is VALID [2022-04-27 11:38:17,148 INFO L290 TraceCheckUtils]: 33: Hoare triple {39393#true} ~x~1 := 0;~y~1 := 0; {39393#true} is VALID [2022-04-27 11:38:17,149 INFO L290 TraceCheckUtils]: 32: Hoare triple {39393#true} assume !(~l~1 < ~m); {39393#true} is VALID [2022-04-27 11:38:17,149 INFO L290 TraceCheckUtils]: 31: Hoare triple {39393#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {39393#true} is VALID [2022-04-27 11:38:17,149 INFO L290 TraceCheckUtils]: 30: Hoare triple {39393#true} assume !(~b~1 < ~n); {39393#true} is VALID [2022-04-27 11:38:17,149 INFO L290 TraceCheckUtils]: 29: Hoare triple {39393#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {39393#true} is VALID [2022-04-27 11:38:17,149 INFO L290 TraceCheckUtils]: 28: Hoare triple {39393#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {39393#true} is VALID [2022-04-27 11:38:17,149 INFO L290 TraceCheckUtils]: 27: Hoare triple {39393#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {39393#true} is VALID [2022-04-27 11:38:17,149 INFO L290 TraceCheckUtils]: 26: Hoare triple {39393#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {39393#true} is VALID [2022-04-27 11:38:17,149 INFO L272 TraceCheckUtils]: 25: Hoare triple {39394#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {39393#true} is VALID [2022-04-27 11:38:17,149 INFO L290 TraceCheckUtils]: 24: Hoare triple {39394#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {39394#false} is VALID [2022-04-27 11:38:17,149 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {39394#false} {39393#true} #111#return; {39394#false} is VALID [2022-04-27 11:38:17,149 INFO L290 TraceCheckUtils]: 22: Hoare triple {39394#false} assume true; {39394#false} is VALID [2022-04-27 11:38:17,149 INFO L290 TraceCheckUtils]: 21: Hoare triple {39394#false} #res := ~y~0; {39394#false} is VALID [2022-04-27 11:38:17,149 INFO L290 TraceCheckUtils]: 20: Hoare triple {39394#false} assume !(~x~0 < ~i~0); {39394#false} is VALID [2022-04-27 11:38:17,149 INFO L290 TraceCheckUtils]: 19: Hoare triple {39437#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {39394#false} is VALID [2022-04-27 11:38:17,150 INFO L290 TraceCheckUtils]: 18: Hoare triple {39436#(<= 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; {39437#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:38:17,150 INFO L290 TraceCheckUtils]: 17: Hoare triple {39435#(<= 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; {39436#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-27 11:38:17,151 INFO L290 TraceCheckUtils]: 16: Hoare triple {39434#(<= 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; {39435#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-27 11:38:17,151 INFO L290 TraceCheckUtils]: 15: Hoare triple {39433#(<= correct_version_~i~0 3)} ~x~0 := 0;~y~0 := 0; {39434#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} is VALID [2022-04-27 11:38:17,151 INFO L290 TraceCheckUtils]: 14: Hoare triple {39433#(<= correct_version_~i~0 3)} assume !(~l~0 < ~m); {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:17,151 INFO L290 TraceCheckUtils]: 13: Hoare triple {39433#(<= correct_version_~i~0 3)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:17,159 INFO L290 TraceCheckUtils]: 12: Hoare triple {39433#(<= correct_version_~i~0 3)} assume !(~b~0 < ~n); {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:17,160 INFO L290 TraceCheckUtils]: 11: Hoare triple {39432#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {39433#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:38:17,160 INFO L290 TraceCheckUtils]: 10: Hoare triple {39431#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {39432#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:38:17,161 INFO L290 TraceCheckUtils]: 9: Hoare triple {39430#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {39431#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:38:17,161 INFO L290 TraceCheckUtils]: 8: Hoare triple {39393#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {39430#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:38:17,161 INFO L272 TraceCheckUtils]: 7: Hoare triple {39393#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {39393#true} is VALID [2022-04-27 11:38:17,161 INFO L290 TraceCheckUtils]: 6: Hoare triple {39393#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {39393#true} is VALID [2022-04-27 11:38:17,161 INFO L290 TraceCheckUtils]: 5: Hoare triple {39393#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {39393#true} is VALID [2022-04-27 11:38:17,161 INFO L272 TraceCheckUtils]: 4: Hoare triple {39393#true} call #t~ret10 := main(); {39393#true} is VALID [2022-04-27 11:38:17,161 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39393#true} {39393#true} #117#return; {39393#true} is VALID [2022-04-27 11:38:17,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {39393#true} assume true; {39393#true} is VALID [2022-04-27 11:38:17,162 INFO L290 TraceCheckUtils]: 1: Hoare triple {39393#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {39393#true} is VALID [2022-04-27 11:38:17,162 INFO L272 TraceCheckUtils]: 0: Hoare triple {39393#true} call ULTIMATE.init(); {39393#true} is VALID [2022-04-27 11:38:17,162 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-27 11:38:17,162 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1864027123] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:38:17,162 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:38:17,162 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10, 10] total 15 [2022-04-27 11:38:17,162 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [552702146] [2022-04-27 11:38:17,162 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:38:17,163 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 3.3333333333333335) internal successors, (50), 14 states have internal predecessors, (50), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 46 [2022-04-27 11:38:17,163 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:38:17,163 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 3.3333333333333335) internal successors, (50), 14 states have internal predecessors, (50), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:17,196 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-27 11:38:17,196 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 11:38:17,196 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:38:17,197 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 11:38:17,197 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=151, Unknown=0, NotChecked=0, Total=210 [2022-04-27 11:38:17,197 INFO L87 Difference]: Start difference. First operand 284 states and 331 transitions. Second operand has 15 states, 15 states have (on average 3.3333333333333335) internal successors, (50), 14 states have internal predecessors, (50), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:18,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:18,651 INFO L93 Difference]: Finished difference Result 525 states and 613 transitions. [2022-04-27 11:38:18,651 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-27 11:38:18,651 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 3.3333333333333335) internal successors, (50), 14 states have internal predecessors, (50), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 46 [2022-04-27 11:38:18,651 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:38:18,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 3.3333333333333335) internal successors, (50), 14 states have internal predecessors, (50), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:18,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 95 transitions. [2022-04-27 11:38:18,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 3.3333333333333335) internal successors, (50), 14 states have internal predecessors, (50), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:18,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 95 transitions. [2022-04-27 11:38:18,653 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 95 transitions. [2022-04-27 11:38:18,691 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-27 11:38:18,698 INFO L225 Difference]: With dead ends: 525 [2022-04-27 11:38:18,698 INFO L226 Difference]: Without dead ends: 340 [2022-04-27 11:38:18,699 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 93 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 143 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=223, Invalid=589, Unknown=0, NotChecked=0, Total=812 [2022-04-27 11:38:18,704 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 138 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 141 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 143 SdHoareTripleChecker+Valid, 52 SdHoareTripleChecker+Invalid, 164 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 141 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:38:18,704 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [143 Valid, 52 Invalid, 164 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 141 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:38:18,704 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 340 states. [2022-04-27 11:38:19,761 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 340 to 322. [2022-04-27 11:38:19,762 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:38:19,762 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-27 11:38:19,762 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-27 11:38:19,764 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-27 11:38:19,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:19,770 INFO L93 Difference]: Finished difference Result 340 states and 394 transitions. [2022-04-27 11:38:19,771 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 394 transitions. [2022-04-27 11:38:19,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:19,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:19,772 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-27 11:38:19,772 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-27 11:38:19,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:19,788 INFO L93 Difference]: Finished difference Result 340 states and 394 transitions. [2022-04-27 11:38:19,788 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 394 transitions. [2022-04-27 11:38:19,789 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:19,789 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:19,789 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:38:19,789 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:38:19,789 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-27 11:38:19,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 322 states to 322 states and 376 transitions. [2022-04-27 11:38:19,794 INFO L78 Accepts]: Start accepts. Automaton has 322 states and 376 transitions. Word has length 46 [2022-04-27 11:38:19,795 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:38:19,795 INFO L495 AbstractCegarLoop]: Abstraction has 322 states and 376 transitions. [2022-04-27 11:38:19,795 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 3.3333333333333335) internal successors, (50), 14 states have internal predecessors, (50), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:19,795 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 376 transitions. [2022-04-27 11:38:19,796 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-27 11:38:19,796 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:38:19,796 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:38:19,827 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-27 11:38:20,011 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 34 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable42 [2022-04-27 11:38:20,011 INFO L420 AbstractCegarLoop]: === Iteration 44 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:38:20,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:38:20,012 INFO L85 PathProgramCache]: Analyzing trace with hash -1644141558, now seen corresponding path program 34 times [2022-04-27 11:38:20,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:38:20,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1419156246] [2022-04-27 11:38:20,012 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:38:20,012 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:38:20,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:20,079 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:38:20,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:20,081 INFO L290 TraceCheckUtils]: 0: Hoare triple {41695#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {41652#true} is VALID [2022-04-27 11:38:20,081 INFO L290 TraceCheckUtils]: 1: Hoare triple {41652#true} assume true; {41652#true} is VALID [2022-04-27 11:38:20,082 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41652#true} {41652#true} #117#return; {41652#true} is VALID [2022-04-27 11:38:20,082 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:38:20,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:20,226 INFO L290 TraceCheckUtils]: 0: Hoare triple {41652#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:20,227 INFO L290 TraceCheckUtils]: 1: Hoare triple {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:20,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:20,228 INFO L290 TraceCheckUtils]: 3: Hoare triple {41696#(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; {41697#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:38:20,228 INFO L290 TraceCheckUtils]: 4: Hoare triple {41697#(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; {41698#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:20,229 INFO L290 TraceCheckUtils]: 5: Hoare triple {41698#(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; {41699#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:38:20,229 INFO L290 TraceCheckUtils]: 6: Hoare triple {41699#(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; {41700#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:38:20,230 INFO L290 TraceCheckUtils]: 7: Hoare triple {41700#(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; {41701#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:38:20,230 INFO L290 TraceCheckUtils]: 8: Hoare triple {41701#(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; {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:38:20,231 INFO L290 TraceCheckUtils]: 9: Hoare triple {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:38:20,231 INFO L290 TraceCheckUtils]: 10: Hoare triple {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {41703#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-27 11:38:20,231 INFO L290 TraceCheckUtils]: 11: Hoare triple {41703#(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; {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:20,232 INFO L290 TraceCheckUtils]: 12: Hoare triple {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:20,232 INFO L290 TraceCheckUtils]: 13: Hoare triple {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:20,232 INFO L290 TraceCheckUtils]: 14: Hoare triple {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:20,233 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {41652#true} #111#return; {41673#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-27 11:38:20,233 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-27 11:38:20,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:20,461 INFO L290 TraceCheckUtils]: 0: Hoare triple {41652#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:20,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:20,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:20,462 INFO L290 TraceCheckUtils]: 3: Hoare triple {41706#(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; {41707#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:38:20,463 INFO L290 TraceCheckUtils]: 4: Hoare triple {41707#(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; {41708#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:20,463 INFO L290 TraceCheckUtils]: 5: Hoare triple {41708#(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; {41709#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:38:20,464 INFO L290 TraceCheckUtils]: 6: Hoare triple {41709#(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; {41710#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:38:20,464 INFO L290 TraceCheckUtils]: 7: Hoare triple {41710#(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; {41711#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:38:20,464 INFO L290 TraceCheckUtils]: 8: Hoare triple {41711#(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; {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:38:20,465 INFO L290 TraceCheckUtils]: 9: Hoare triple {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:38:20,465 INFO L290 TraceCheckUtils]: 10: Hoare triple {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {41713#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-27 11:38:20,465 INFO L290 TraceCheckUtils]: 11: Hoare triple {41713#(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; {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:20,466 INFO L290 TraceCheckUtils]: 12: Hoare triple {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:20,466 INFO L290 TraceCheckUtils]: 13: Hoare triple {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:20,466 INFO L290 TraceCheckUtils]: 14: Hoare triple {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:20,467 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {41674#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {41691#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:38:20,467 INFO L272 TraceCheckUtils]: 0: Hoare triple {41652#true} call ULTIMATE.init(); {41695#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:38:20,467 INFO L290 TraceCheckUtils]: 1: Hoare triple {41695#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {41652#true} is VALID [2022-04-27 11:38:20,467 INFO L290 TraceCheckUtils]: 2: Hoare triple {41652#true} assume true; {41652#true} is VALID [2022-04-27 11:38:20,467 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41652#true} {41652#true} #117#return; {41652#true} is VALID [2022-04-27 11:38:20,467 INFO L272 TraceCheckUtils]: 4: Hoare triple {41652#true} call #t~ret10 := main(); {41652#true} is VALID [2022-04-27 11:38:20,467 INFO L290 TraceCheckUtils]: 5: Hoare triple {41652#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {41652#true} is VALID [2022-04-27 11:38:20,468 INFO L290 TraceCheckUtils]: 6: Hoare triple {41652#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {41652#true} is VALID [2022-04-27 11:38:20,468 INFO L272 TraceCheckUtils]: 7: Hoare triple {41652#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {41652#true} is VALID [2022-04-27 11:38:20,468 INFO L290 TraceCheckUtils]: 8: Hoare triple {41652#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:20,468 INFO L290 TraceCheckUtils]: 9: Hoare triple {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:20,468 INFO L290 TraceCheckUtils]: 10: Hoare triple {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:20,469 INFO L290 TraceCheckUtils]: 11: Hoare triple {41696#(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; {41697#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:38:20,469 INFO L290 TraceCheckUtils]: 12: Hoare triple {41697#(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; {41698#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:20,470 INFO L290 TraceCheckUtils]: 13: Hoare triple {41698#(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; {41699#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:38:20,470 INFO L290 TraceCheckUtils]: 14: Hoare triple {41699#(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; {41700#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:38:20,470 INFO L290 TraceCheckUtils]: 15: Hoare triple {41700#(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; {41701#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:38:20,471 INFO L290 TraceCheckUtils]: 16: Hoare triple {41701#(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; {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:38:20,471 INFO L290 TraceCheckUtils]: 17: Hoare triple {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:38:20,471 INFO L290 TraceCheckUtils]: 18: Hoare triple {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {41703#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-27 11:38:20,472 INFO L290 TraceCheckUtils]: 19: Hoare triple {41703#(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; {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:20,472 INFO L290 TraceCheckUtils]: 20: Hoare triple {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:20,472 INFO L290 TraceCheckUtils]: 21: Hoare triple {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:20,473 INFO L290 TraceCheckUtils]: 22: Hoare triple {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:20,473 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {41652#true} #111#return; {41673#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-27 11:38:20,473 INFO L290 TraceCheckUtils]: 24: Hoare triple {41673#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {41674#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-27 11:38:20,473 INFO L272 TraceCheckUtils]: 25: Hoare triple {41674#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {41652#true} is VALID [2022-04-27 11:38:20,474 INFO L290 TraceCheckUtils]: 26: Hoare triple {41652#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:20,474 INFO L290 TraceCheckUtils]: 27: Hoare triple {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:20,474 INFO L290 TraceCheckUtils]: 28: Hoare triple {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:20,475 INFO L290 TraceCheckUtils]: 29: Hoare triple {41706#(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; {41707#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:38:20,475 INFO L290 TraceCheckUtils]: 30: Hoare triple {41707#(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; {41708#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:20,475 INFO L290 TraceCheckUtils]: 31: Hoare triple {41708#(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; {41709#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:38:20,476 INFO L290 TraceCheckUtils]: 32: Hoare triple {41709#(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; {41710#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:38:20,476 INFO L290 TraceCheckUtils]: 33: Hoare triple {41710#(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; {41711#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:38:20,477 INFO L290 TraceCheckUtils]: 34: Hoare triple {41711#(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; {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:38:20,477 INFO L290 TraceCheckUtils]: 35: Hoare triple {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:38:20,477 INFO L290 TraceCheckUtils]: 36: Hoare triple {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {41713#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-27 11:38:20,478 INFO L290 TraceCheckUtils]: 37: Hoare triple {41713#(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; {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:20,478 INFO L290 TraceCheckUtils]: 38: Hoare triple {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:20,478 INFO L290 TraceCheckUtils]: 39: Hoare triple {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:20,478 INFO L290 TraceCheckUtils]: 40: Hoare triple {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:20,479 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {41674#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {41691#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:38:20,479 INFO L290 TraceCheckUtils]: 42: Hoare triple {41691#(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; {41692#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:38:20,480 INFO L272 TraceCheckUtils]: 43: Hoare triple {41692#(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)); {41693#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:38:20,480 INFO L290 TraceCheckUtils]: 44: Hoare triple {41693#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {41694#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:38:20,480 INFO L290 TraceCheckUtils]: 45: Hoare triple {41694#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {41653#false} is VALID [2022-04-27 11:38:20,480 INFO L290 TraceCheckUtils]: 46: Hoare triple {41653#false} assume !false; {41653#false} is VALID [2022-04-27 11:38:20,480 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-27 11:38:20,481 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:38:20,481 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1419156246] [2022-04-27 11:38:20,481 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1419156246] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:38:20,481 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [363513526] [2022-04-27 11:38:20,481 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 11:38:20,481 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:38:20,481 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:38:20,482 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-27 11:38:20,485 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-27 11:38:20,558 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 11:38:20,558 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:38:20,559 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-27 11:38:20,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:20,566 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:38:21,069 INFO L272 TraceCheckUtils]: 0: Hoare triple {41652#true} call ULTIMATE.init(); {41652#true} is VALID [2022-04-27 11:38:21,069 INFO L290 TraceCheckUtils]: 1: Hoare triple {41652#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {41652#true} is VALID [2022-04-27 11:38:21,069 INFO L290 TraceCheckUtils]: 2: Hoare triple {41652#true} assume true; {41652#true} is VALID [2022-04-27 11:38:21,069 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41652#true} {41652#true} #117#return; {41652#true} is VALID [2022-04-27 11:38:21,069 INFO L272 TraceCheckUtils]: 4: Hoare triple {41652#true} call #t~ret10 := main(); {41652#true} is VALID [2022-04-27 11:38:21,069 INFO L290 TraceCheckUtils]: 5: Hoare triple {41652#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {41652#true} is VALID [2022-04-27 11:38:21,069 INFO L290 TraceCheckUtils]: 6: Hoare triple {41652#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {41652#true} is VALID [2022-04-27 11:38:21,069 INFO L272 TraceCheckUtils]: 7: Hoare triple {41652#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {41652#true} is VALID [2022-04-27 11:38:21,070 INFO L290 TraceCheckUtils]: 8: Hoare triple {41652#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:21,070 INFO L290 TraceCheckUtils]: 9: Hoare triple {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:21,070 INFO L290 TraceCheckUtils]: 10: Hoare triple {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:21,071 INFO L290 TraceCheckUtils]: 11: Hoare triple {41696#(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; {41697#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:38:21,071 INFO L290 TraceCheckUtils]: 12: Hoare triple {41697#(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; {41698#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:21,072 INFO L290 TraceCheckUtils]: 13: Hoare triple {41698#(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; {41699#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:38:21,072 INFO L290 TraceCheckUtils]: 14: Hoare triple {41699#(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; {41700#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:38:21,073 INFO L290 TraceCheckUtils]: 15: Hoare triple {41700#(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; {41701#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:38:21,073 INFO L290 TraceCheckUtils]: 16: Hoare triple {41701#(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; {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:38:21,073 INFO L290 TraceCheckUtils]: 17: Hoare triple {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:38:21,074 INFO L290 TraceCheckUtils]: 18: Hoare triple {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {41773#(and (<= correct_version_~j~0 6) (= correct_version_~y~0 0) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:38:21,074 INFO L290 TraceCheckUtils]: 19: Hoare triple {41773#(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; {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:21,075 INFO L290 TraceCheckUtils]: 20: Hoare triple {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:21,075 INFO L290 TraceCheckUtils]: 21: Hoare triple {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:21,075 INFO L290 TraceCheckUtils]: 22: Hoare triple {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:21,076 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {41652#true} #111#return; {41673#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-27 11:38:21,076 INFO L290 TraceCheckUtils]: 24: Hoare triple {41673#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {41674#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-27 11:38:21,076 INFO L272 TraceCheckUtils]: 25: Hoare triple {41674#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {41652#true} is VALID [2022-04-27 11:38:21,077 INFO L290 TraceCheckUtils]: 26: Hoare triple {41652#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:21,077 INFO L290 TraceCheckUtils]: 27: Hoare triple {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:21,077 INFO L290 TraceCheckUtils]: 28: Hoare triple {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:21,078 INFO L290 TraceCheckUtils]: 29: Hoare triple {41706#(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; {41707#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:38:21,078 INFO L290 TraceCheckUtils]: 30: Hoare triple {41707#(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; {41708#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:21,079 INFO L290 TraceCheckUtils]: 31: Hoare triple {41708#(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; {41709#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:38:21,079 INFO L290 TraceCheckUtils]: 32: Hoare triple {41709#(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; {41710#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:38:21,079 INFO L290 TraceCheckUtils]: 33: Hoare triple {41710#(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; {41711#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:38:21,080 INFO L290 TraceCheckUtils]: 34: Hoare triple {41711#(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; {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:38:21,080 INFO L290 TraceCheckUtils]: 35: Hoare triple {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:38:21,081 INFO L290 TraceCheckUtils]: 36: Hoare triple {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {41828#(and (= student_version_~y~1 0) (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:38:21,081 INFO L290 TraceCheckUtils]: 37: Hoare triple {41828#(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; {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:21,081 INFO L290 TraceCheckUtils]: 38: Hoare triple {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:21,082 INFO L290 TraceCheckUtils]: 39: Hoare triple {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:21,082 INFO L290 TraceCheckUtils]: 40: Hoare triple {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:21,083 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {41674#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {41844#(and (<= 6 |main_#t~ret9|) (<= 6 main_~n_stones1~0) (<= |main_#t~ret9| 6) (<= main_~n_stones1~0 6))} is VALID [2022-04-27 11:38:21,083 INFO L290 TraceCheckUtils]: 42: Hoare triple {41844#(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; {41848#(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-27 11:38:21,084 INFO L272 TraceCheckUtils]: 43: Hoare triple {41848#(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)); {41852#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:38:21,084 INFO L290 TraceCheckUtils]: 44: Hoare triple {41852#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {41856#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:38:21,084 INFO L290 TraceCheckUtils]: 45: Hoare triple {41856#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {41653#false} is VALID [2022-04-27 11:38:21,084 INFO L290 TraceCheckUtils]: 46: Hoare triple {41653#false} assume !false; {41653#false} is VALID [2022-04-27 11:38:21,084 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-27 11:38:21,084 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:38:21,507 INFO L290 TraceCheckUtils]: 46: Hoare triple {41653#false} assume !false; {41653#false} is VALID [2022-04-27 11:38:21,507 INFO L290 TraceCheckUtils]: 45: Hoare triple {41856#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {41653#false} is VALID [2022-04-27 11:38:21,507 INFO L290 TraceCheckUtils]: 44: Hoare triple {41852#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {41856#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:38:21,508 INFO L272 TraceCheckUtils]: 43: Hoare triple {41692#(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)); {41852#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:38:21,508 INFO L290 TraceCheckUtils]: 42: Hoare triple {41691#(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; {41692#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:38:21,509 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {41674#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {41691#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:38:21,509 INFO L290 TraceCheckUtils]: 40: Hoare triple {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:21,510 INFO L290 TraceCheckUtils]: 39: Hoare triple {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {41715#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:21,510 INFO L290 TraceCheckUtils]: 38: Hoare triple {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:21,510 INFO L290 TraceCheckUtils]: 37: Hoare triple {41713#(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; {41714#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:21,511 INFO L290 TraceCheckUtils]: 36: Hoare triple {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {41713#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-27 11:38:21,511 INFO L290 TraceCheckUtils]: 35: Hoare triple {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:38:21,512 INFO L290 TraceCheckUtils]: 34: Hoare triple {41711#(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; {41712#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:38:21,512 INFO L290 TraceCheckUtils]: 33: Hoare triple {41710#(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; {41711#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:38:21,513 INFO L290 TraceCheckUtils]: 32: Hoare triple {41709#(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; {41710#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:38:21,513 INFO L290 TraceCheckUtils]: 31: Hoare triple {41708#(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; {41709#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:38:21,513 INFO L290 TraceCheckUtils]: 30: Hoare triple {41707#(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; {41708#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:21,514 INFO L290 TraceCheckUtils]: 29: Hoare triple {41706#(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; {41707#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:38:21,514 INFO L290 TraceCheckUtils]: 28: Hoare triple {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:21,515 INFO L290 TraceCheckUtils]: 27: Hoare triple {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:21,515 INFO L290 TraceCheckUtils]: 26: Hoare triple {41652#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {41706#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:21,515 INFO L272 TraceCheckUtils]: 25: Hoare triple {41674#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {41652#true} is VALID [2022-04-27 11:38:21,515 INFO L290 TraceCheckUtils]: 24: Hoare triple {41673#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {41674#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-27 11:38:21,516 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {41652#true} #111#return; {41673#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-27 11:38:21,516 INFO L290 TraceCheckUtils]: 22: Hoare triple {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:21,517 INFO L290 TraceCheckUtils]: 21: Hoare triple {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {41705#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:21,517 INFO L290 TraceCheckUtils]: 20: Hoare triple {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:21,517 INFO L290 TraceCheckUtils]: 19: Hoare triple {41703#(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; {41704#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:21,518 INFO L290 TraceCheckUtils]: 18: Hoare triple {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {41703#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-27 11:38:21,518 INFO L290 TraceCheckUtils]: 17: Hoare triple {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:38:21,518 INFO L290 TraceCheckUtils]: 16: Hoare triple {41701#(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; {41702#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:38:21,519 INFO L290 TraceCheckUtils]: 15: Hoare triple {41700#(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; {41701#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:38:21,519 INFO L290 TraceCheckUtils]: 14: Hoare triple {41699#(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; {41700#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:38:21,520 INFO L290 TraceCheckUtils]: 13: Hoare triple {41698#(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; {41699#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:38:21,520 INFO L290 TraceCheckUtils]: 12: Hoare triple {41697#(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; {41698#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:21,521 INFO L290 TraceCheckUtils]: 11: Hoare triple {41696#(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; {41697#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:38:21,521 INFO L290 TraceCheckUtils]: 10: Hoare triple {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:21,521 INFO L290 TraceCheckUtils]: 9: Hoare triple {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:21,522 INFO L290 TraceCheckUtils]: 8: Hoare triple {41652#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {41696#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:21,522 INFO L272 TraceCheckUtils]: 7: Hoare triple {41652#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {41652#true} is VALID [2022-04-27 11:38:21,522 INFO L290 TraceCheckUtils]: 6: Hoare triple {41652#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {41652#true} is VALID [2022-04-27 11:38:21,522 INFO L290 TraceCheckUtils]: 5: Hoare triple {41652#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {41652#true} is VALID [2022-04-27 11:38:21,522 INFO L272 TraceCheckUtils]: 4: Hoare triple {41652#true} call #t~ret10 := main(); {41652#true} is VALID [2022-04-27 11:38:21,522 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41652#true} {41652#true} #117#return; {41652#true} is VALID [2022-04-27 11:38:21,522 INFO L290 TraceCheckUtils]: 2: Hoare triple {41652#true} assume true; {41652#true} is VALID [2022-04-27 11:38:21,522 INFO L290 TraceCheckUtils]: 1: Hoare triple {41652#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {41652#true} is VALID [2022-04-27 11:38:21,522 INFO L272 TraceCheckUtils]: 0: Hoare triple {41652#true} call ULTIMATE.init(); {41652#true} is VALID [2022-04-27 11:38:21,522 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-27 11:38:21,522 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [363513526] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:38:21,522 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:38:21,523 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 35 [2022-04-27 11:38:21,523 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [131633285] [2022-04-27 11:38:21,523 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:38:21,523 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 47 [2022-04-27 11:38:21,523 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:38:21,523 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:21,559 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-27 11:38:21,559 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-04-27 11:38:21,559 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:38:21,559 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-04-27 11:38:21,560 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=1113, Unknown=0, NotChecked=0, Total=1190 [2022-04-27 11:38:21,560 INFO L87 Difference]: Start difference. First operand 322 states and 376 transitions. Second operand has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:28,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:28,120 INFO L93 Difference]: Finished difference Result 392 states and 457 transitions. [2022-04-27 11:38:28,120 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-27 11:38:28,120 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 47 [2022-04-27 11:38:28,121 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:38:28,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:28,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 158 transitions. [2022-04-27 11:38:28,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:28,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 158 transitions. [2022-04-27 11:38:28,123 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 158 transitions. [2022-04-27 11:38:28,250 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-27 11:38:28,258 INFO L225 Difference]: With dead ends: 392 [2022-04-27 11:38:28,258 INFO L226 Difference]: Without dead ends: 386 [2022-04-27 11:38:28,259 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 88 SyntacticMatches, 5 SemanticMatches, 60 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 520 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=217, Invalid=3565, Unknown=0, NotChecked=0, Total=3782 [2022-04-27 11:38:28,259 INFO L413 NwaCegarLoop]: 81 mSDtfsCounter, 174 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 3481 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 181 SdHoareTripleChecker+Valid, 228 SdHoareTripleChecker+Invalid, 3521 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 3481 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:38:28,260 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [181 Valid, 228 Invalid, 3521 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 3481 Invalid, 0 Unknown, 0 Unchecked, 2.2s Time] [2022-04-27 11:38:28,260 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 386 states. [2022-04-27 11:38:30,280 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 386 to 338. [2022-04-27 11:38:30,280 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:38:30,281 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-27 11:38:30,281 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-27 11:38:30,281 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-27 11:38:30,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:30,287 INFO L93 Difference]: Finished difference Result 386 states and 451 transitions. [2022-04-27 11:38:30,287 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 451 transitions. [2022-04-27 11:38:30,288 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:30,288 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:30,288 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-27 11:38:30,288 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-27 11:38:30,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:30,294 INFO L93 Difference]: Finished difference Result 386 states and 451 transitions. [2022-04-27 11:38:30,294 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 451 transitions. [2022-04-27 11:38:30,295 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:30,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:30,295 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:38:30,295 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:38:30,296 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-27 11:38:30,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 338 states to 338 states and 395 transitions. [2022-04-27 11:38:30,301 INFO L78 Accepts]: Start accepts. Automaton has 338 states and 395 transitions. Word has length 47 [2022-04-27 11:38:30,301 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:38:30,301 INFO L495 AbstractCegarLoop]: Abstraction has 338 states and 395 transitions. [2022-04-27 11:38:30,301 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:30,302 INFO L276 IsEmpty]: Start isEmpty. Operand 338 states and 395 transitions. [2022-04-27 11:38:30,302 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-27 11:38:30,302 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:38:30,303 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:38:30,319 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-27 11:38:30,515 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable43,35 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:38:30,515 INFO L420 AbstractCegarLoop]: === Iteration 45 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:38:30,516 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:38:30,516 INFO L85 PathProgramCache]: Analyzing trace with hash 1497239530, now seen corresponding path program 35 times [2022-04-27 11:38:30,516 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:38:30,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [47982557] [2022-04-27 11:38:30,516 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:38:30,516 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:38:30,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:30,603 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:38:30,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:30,606 INFO L290 TraceCheckUtils]: 0: Hoare triple {43938#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {43895#true} is VALID [2022-04-27 11:38:30,606 INFO L290 TraceCheckUtils]: 1: Hoare triple {43895#true} assume true; {43895#true} is VALID [2022-04-27 11:38:30,606 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43895#true} {43895#true} #117#return; {43895#true} is VALID [2022-04-27 11:38:30,606 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:38:30,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:30,750 INFO L290 TraceCheckUtils]: 0: Hoare triple {43895#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:30,750 INFO L290 TraceCheckUtils]: 1: Hoare triple {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:30,751 INFO L290 TraceCheckUtils]: 2: Hoare triple {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:30,751 INFO L290 TraceCheckUtils]: 3: Hoare triple {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:30,752 INFO L290 TraceCheckUtils]: 4: Hoare triple {43939#(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; {43940#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:38:30,752 INFO L290 TraceCheckUtils]: 5: Hoare triple {43940#(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; {43941#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:30,752 INFO L290 TraceCheckUtils]: 6: Hoare triple {43941#(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; {43942#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:38:30,753 INFO L290 TraceCheckUtils]: 7: Hoare triple {43942#(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; {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:38:30,753 INFO L290 TraceCheckUtils]: 8: Hoare triple {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:38:30,754 INFO L290 TraceCheckUtils]: 9: Hoare triple {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {43944#(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-27 11:38:30,754 INFO L290 TraceCheckUtils]: 10: Hoare triple {43944#(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; {43945#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:38:30,755 INFO L290 TraceCheckUtils]: 11: Hoare triple {43945#(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; {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:38:30,755 INFO L290 TraceCheckUtils]: 12: Hoare triple {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:38:30,755 INFO L290 TraceCheckUtils]: 13: Hoare triple {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:38:30,755 INFO L290 TraceCheckUtils]: 14: Hoare triple {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:38:30,756 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {43895#true} #111#return; {43916#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-27 11:38:30,756 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-27 11:38:30,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:30,937 INFO L290 TraceCheckUtils]: 0: Hoare triple {43895#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:30,938 INFO L290 TraceCheckUtils]: 1: Hoare triple {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:30,938 INFO L290 TraceCheckUtils]: 2: Hoare triple {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:30,939 INFO L290 TraceCheckUtils]: 3: Hoare triple {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:30,939 INFO L290 TraceCheckUtils]: 4: Hoare triple {43948#(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; {43949#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:38:30,939 INFO L290 TraceCheckUtils]: 5: Hoare triple {43949#(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; {43950#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:30,940 INFO L290 TraceCheckUtils]: 6: Hoare triple {43950#(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; {43951#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:38:30,940 INFO L290 TraceCheckUtils]: 7: Hoare triple {43951#(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; {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:38:30,941 INFO L290 TraceCheckUtils]: 8: Hoare triple {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:38:30,941 INFO L290 TraceCheckUtils]: 9: Hoare triple {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {43953#(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-27 11:38:30,942 INFO L290 TraceCheckUtils]: 10: Hoare triple {43953#(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; {43954#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:38:30,942 INFO L290 TraceCheckUtils]: 11: Hoare triple {43954#(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; {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:38:30,942 INFO L290 TraceCheckUtils]: 12: Hoare triple {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:38:30,943 INFO L290 TraceCheckUtils]: 13: Hoare triple {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:38:30,943 INFO L290 TraceCheckUtils]: 14: Hoare triple {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:38:30,944 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {43917#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {43934#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:38:30,944 INFO L272 TraceCheckUtils]: 0: Hoare triple {43895#true} call ULTIMATE.init(); {43938#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:38:30,944 INFO L290 TraceCheckUtils]: 1: Hoare triple {43938#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {43895#true} is VALID [2022-04-27 11:38:30,944 INFO L290 TraceCheckUtils]: 2: Hoare triple {43895#true} assume true; {43895#true} is VALID [2022-04-27 11:38:30,944 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43895#true} {43895#true} #117#return; {43895#true} is VALID [2022-04-27 11:38:30,944 INFO L272 TraceCheckUtils]: 4: Hoare triple {43895#true} call #t~ret10 := main(); {43895#true} is VALID [2022-04-27 11:38:30,944 INFO L290 TraceCheckUtils]: 5: Hoare triple {43895#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {43895#true} is VALID [2022-04-27 11:38:30,944 INFO L290 TraceCheckUtils]: 6: Hoare triple {43895#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {43895#true} is VALID [2022-04-27 11:38:30,945 INFO L272 TraceCheckUtils]: 7: Hoare triple {43895#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {43895#true} is VALID [2022-04-27 11:38:30,945 INFO L290 TraceCheckUtils]: 8: Hoare triple {43895#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:30,945 INFO L290 TraceCheckUtils]: 9: Hoare triple {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:30,946 INFO L290 TraceCheckUtils]: 10: Hoare triple {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:30,946 INFO L290 TraceCheckUtils]: 11: Hoare triple {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:30,946 INFO L290 TraceCheckUtils]: 12: Hoare triple {43939#(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; {43940#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:38:30,947 INFO L290 TraceCheckUtils]: 13: Hoare triple {43940#(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; {43941#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:30,947 INFO L290 TraceCheckUtils]: 14: Hoare triple {43941#(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; {43942#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:38:30,948 INFO L290 TraceCheckUtils]: 15: Hoare triple {43942#(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; {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:38:30,948 INFO L290 TraceCheckUtils]: 16: Hoare triple {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:38:30,948 INFO L290 TraceCheckUtils]: 17: Hoare triple {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {43944#(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-27 11:38:30,949 INFO L290 TraceCheckUtils]: 18: Hoare triple {43944#(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; {43945#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:38:30,949 INFO L290 TraceCheckUtils]: 19: Hoare triple {43945#(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; {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:38:30,950 INFO L290 TraceCheckUtils]: 20: Hoare triple {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:38:30,950 INFO L290 TraceCheckUtils]: 21: Hoare triple {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:38:30,950 INFO L290 TraceCheckUtils]: 22: Hoare triple {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:38:30,951 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {43895#true} #111#return; {43916#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-27 11:38:30,951 INFO L290 TraceCheckUtils]: 24: Hoare triple {43916#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {43917#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-27 11:38:30,951 INFO L272 TraceCheckUtils]: 25: Hoare triple {43917#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {43895#true} is VALID [2022-04-27 11:38:30,952 INFO L290 TraceCheckUtils]: 26: Hoare triple {43895#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:30,952 INFO L290 TraceCheckUtils]: 27: Hoare triple {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:30,952 INFO L290 TraceCheckUtils]: 28: Hoare triple {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:30,953 INFO L290 TraceCheckUtils]: 29: Hoare triple {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:30,953 INFO L290 TraceCheckUtils]: 30: Hoare triple {43948#(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; {43949#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:38:30,953 INFO L290 TraceCheckUtils]: 31: Hoare triple {43949#(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; {43950#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:30,954 INFO L290 TraceCheckUtils]: 32: Hoare triple {43950#(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; {43951#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:38:30,954 INFO L290 TraceCheckUtils]: 33: Hoare triple {43951#(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; {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:38:30,955 INFO L290 TraceCheckUtils]: 34: Hoare triple {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:38:30,955 INFO L290 TraceCheckUtils]: 35: Hoare triple {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {43953#(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-27 11:38:30,955 INFO L290 TraceCheckUtils]: 36: Hoare triple {43953#(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; {43954#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:38:30,956 INFO L290 TraceCheckUtils]: 37: Hoare triple {43954#(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; {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:38:30,956 INFO L290 TraceCheckUtils]: 38: Hoare triple {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:38:30,957 INFO L290 TraceCheckUtils]: 39: Hoare triple {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:38:30,957 INFO L290 TraceCheckUtils]: 40: Hoare triple {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:38:30,958 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {43917#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {43934#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:38:30,958 INFO L290 TraceCheckUtils]: 42: Hoare triple {43934#(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; {43935#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:38:30,959 INFO L272 TraceCheckUtils]: 43: Hoare triple {43935#(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)); {43936#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:38:30,959 INFO L290 TraceCheckUtils]: 44: Hoare triple {43936#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {43937#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:38:30,959 INFO L290 TraceCheckUtils]: 45: Hoare triple {43937#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {43896#false} is VALID [2022-04-27 11:38:30,959 INFO L290 TraceCheckUtils]: 46: Hoare triple {43896#false} assume !false; {43896#false} is VALID [2022-04-27 11:38:30,959 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-27 11:38:30,959 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:38:30,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [47982557] [2022-04-27 11:38:30,960 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [47982557] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:38:30,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2073194008] [2022-04-27 11:38:30,960 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 11:38:30,960 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:38:30,960 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:38:30,961 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-27 11:38:30,962 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-27 11:38:31,021 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 3 check-sat command(s) [2022-04-27 11:38:31,022 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:38:31,023 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-27 11:38:31,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:31,031 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:38:31,567 INFO L272 TraceCheckUtils]: 0: Hoare triple {43895#true} call ULTIMATE.init(); {43895#true} is VALID [2022-04-27 11:38:31,567 INFO L290 TraceCheckUtils]: 1: Hoare triple {43895#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {43895#true} is VALID [2022-04-27 11:38:31,567 INFO L290 TraceCheckUtils]: 2: Hoare triple {43895#true} assume true; {43895#true} is VALID [2022-04-27 11:38:31,567 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43895#true} {43895#true} #117#return; {43895#true} is VALID [2022-04-27 11:38:31,567 INFO L272 TraceCheckUtils]: 4: Hoare triple {43895#true} call #t~ret10 := main(); {43895#true} is VALID [2022-04-27 11:38:31,567 INFO L290 TraceCheckUtils]: 5: Hoare triple {43895#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {43895#true} is VALID [2022-04-27 11:38:31,567 INFO L290 TraceCheckUtils]: 6: Hoare triple {43895#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {43895#true} is VALID [2022-04-27 11:38:31,567 INFO L272 TraceCheckUtils]: 7: Hoare triple {43895#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {43895#true} is VALID [2022-04-27 11:38:31,568 INFO L290 TraceCheckUtils]: 8: Hoare triple {43895#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:31,568 INFO L290 TraceCheckUtils]: 9: Hoare triple {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:31,568 INFO L290 TraceCheckUtils]: 10: Hoare triple {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:31,568 INFO L290 TraceCheckUtils]: 11: Hoare triple {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:31,569 INFO L290 TraceCheckUtils]: 12: Hoare triple {43939#(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; {43940#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:38:31,569 INFO L290 TraceCheckUtils]: 13: Hoare triple {43940#(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; {43941#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:31,570 INFO L290 TraceCheckUtils]: 14: Hoare triple {43941#(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; {43942#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:38:31,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {43942#(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; {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:38:31,570 INFO L290 TraceCheckUtils]: 16: Hoare triple {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:38:31,570 INFO L290 TraceCheckUtils]: 17: Hoare triple {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {44011#(and (<= 4 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:38:31,571 INFO L290 TraceCheckUtils]: 18: Hoare triple {44011#(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; {44015#(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-27 11:38:31,571 INFO L290 TraceCheckUtils]: 19: Hoare triple {44015#(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; {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:38:31,571 INFO L290 TraceCheckUtils]: 20: Hoare triple {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:38:31,572 INFO L290 TraceCheckUtils]: 21: Hoare triple {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:38:31,572 INFO L290 TraceCheckUtils]: 22: Hoare triple {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:38:31,572 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {43895#true} #111#return; {43916#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-27 11:38:31,573 INFO L290 TraceCheckUtils]: 24: Hoare triple {43916#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {43917#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-27 11:38:31,573 INFO L272 TraceCheckUtils]: 25: Hoare triple {43917#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {43895#true} is VALID [2022-04-27 11:38:31,573 INFO L290 TraceCheckUtils]: 26: Hoare triple {43895#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:31,573 INFO L290 TraceCheckUtils]: 27: Hoare triple {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:31,574 INFO L290 TraceCheckUtils]: 28: Hoare triple {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:31,574 INFO L290 TraceCheckUtils]: 29: Hoare triple {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:31,574 INFO L290 TraceCheckUtils]: 30: Hoare triple {43948#(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; {43949#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:38:31,575 INFO L290 TraceCheckUtils]: 31: Hoare triple {43949#(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; {43950#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:31,575 INFO L290 TraceCheckUtils]: 32: Hoare triple {43950#(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; {43951#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:38:31,575 INFO L290 TraceCheckUtils]: 33: Hoare triple {43951#(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; {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:38:31,576 INFO L290 TraceCheckUtils]: 34: Hoare triple {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:38:31,576 INFO L290 TraceCheckUtils]: 35: Hoare triple {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {44067#(and (= student_version_~y~1 0) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:38:31,576 INFO L290 TraceCheckUtils]: 36: Hoare triple {44067#(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; {44071#(and (= student_version_~j~1 student_version_~y~1) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:38:31,577 INFO L290 TraceCheckUtils]: 37: Hoare triple {44071#(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; {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:38:31,577 INFO L290 TraceCheckUtils]: 38: Hoare triple {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:38:31,577 INFO L290 TraceCheckUtils]: 39: Hoare triple {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:38:31,577 INFO L290 TraceCheckUtils]: 40: Hoare triple {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:38:31,578 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {43917#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {44087#(and (<= |main_#t~ret9| 8) (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8) (<= 8 |main_#t~ret9|))} is VALID [2022-04-27 11:38:31,578 INFO L290 TraceCheckUtils]: 42: Hoare triple {44087#(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; {44091#(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-27 11:38:31,579 INFO L272 TraceCheckUtils]: 43: Hoare triple {44091#(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)); {44095#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:38:31,579 INFO L290 TraceCheckUtils]: 44: Hoare triple {44095#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {44099#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:38:31,579 INFO L290 TraceCheckUtils]: 45: Hoare triple {44099#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {43896#false} is VALID [2022-04-27 11:38:31,579 INFO L290 TraceCheckUtils]: 46: Hoare triple {43896#false} assume !false; {43896#false} is VALID [2022-04-27 11:38:31,579 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-27 11:38:31,579 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:38:31,989 INFO L290 TraceCheckUtils]: 46: Hoare triple {43896#false} assume !false; {43896#false} is VALID [2022-04-27 11:38:31,990 INFO L290 TraceCheckUtils]: 45: Hoare triple {44099#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {43896#false} is VALID [2022-04-27 11:38:31,990 INFO L290 TraceCheckUtils]: 44: Hoare triple {44095#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {44099#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:38:31,990 INFO L272 TraceCheckUtils]: 43: Hoare triple {43935#(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)); {44095#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:38:31,991 INFO L290 TraceCheckUtils]: 42: Hoare triple {43934#(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; {43935#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:38:31,991 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {43917#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {43934#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:38:31,992 INFO L290 TraceCheckUtils]: 40: Hoare triple {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:38:31,992 INFO L290 TraceCheckUtils]: 39: Hoare triple {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {43956#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:38:31,992 INFO L290 TraceCheckUtils]: 38: Hoare triple {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:38:31,992 INFO L290 TraceCheckUtils]: 37: Hoare triple {43954#(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; {43955#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:38:31,993 INFO L290 TraceCheckUtils]: 36: Hoare triple {43953#(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; {43954#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:38:31,993 INFO L290 TraceCheckUtils]: 35: Hoare triple {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {43953#(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-27 11:38:31,993 INFO L290 TraceCheckUtils]: 34: Hoare triple {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:38:31,994 INFO L290 TraceCheckUtils]: 33: Hoare triple {43951#(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; {43952#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:38:31,994 INFO L290 TraceCheckUtils]: 32: Hoare triple {43950#(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; {43951#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:38:31,995 INFO L290 TraceCheckUtils]: 31: Hoare triple {43949#(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; {43950#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:31,995 INFO L290 TraceCheckUtils]: 30: Hoare triple {43948#(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; {43949#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:38:31,995 INFO L290 TraceCheckUtils]: 29: Hoare triple {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:31,996 INFO L290 TraceCheckUtils]: 28: Hoare triple {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:31,996 INFO L290 TraceCheckUtils]: 27: Hoare triple {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:31,996 INFO L290 TraceCheckUtils]: 26: Hoare triple {43895#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {43948#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:31,996 INFO L272 TraceCheckUtils]: 25: Hoare triple {43917#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {43895#true} is VALID [2022-04-27 11:38:31,996 INFO L290 TraceCheckUtils]: 24: Hoare triple {43916#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {43917#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-27 11:38:31,997 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {43895#true} #111#return; {43916#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-27 11:38:31,997 INFO L290 TraceCheckUtils]: 22: Hoare triple {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:38:31,997 INFO L290 TraceCheckUtils]: 21: Hoare triple {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {43947#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:38:31,998 INFO L290 TraceCheckUtils]: 20: Hoare triple {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:38:31,998 INFO L290 TraceCheckUtils]: 19: Hoare triple {43945#(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; {43946#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:38:31,998 INFO L290 TraceCheckUtils]: 18: Hoare triple {43944#(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; {43945#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:38:31,999 INFO L290 TraceCheckUtils]: 17: Hoare triple {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {43944#(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-27 11:38:31,999 INFO L290 TraceCheckUtils]: 16: Hoare triple {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:38:31,999 INFO L290 TraceCheckUtils]: 15: Hoare triple {43942#(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; {43943#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:38:32,000 INFO L290 TraceCheckUtils]: 14: Hoare triple {43941#(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; {43942#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:38:32,000 INFO L290 TraceCheckUtils]: 13: Hoare triple {43940#(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; {43941#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:32,000 INFO L290 TraceCheckUtils]: 12: Hoare triple {43939#(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; {43940#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:38:32,001 INFO L290 TraceCheckUtils]: 11: Hoare triple {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:32,001 INFO L290 TraceCheckUtils]: 10: Hoare triple {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:32,001 INFO L290 TraceCheckUtils]: 9: Hoare triple {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:32,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {43895#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {43939#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:32,002 INFO L272 TraceCheckUtils]: 7: Hoare triple {43895#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {43895#true} is VALID [2022-04-27 11:38:32,002 INFO L290 TraceCheckUtils]: 6: Hoare triple {43895#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {43895#true} is VALID [2022-04-27 11:38:32,002 INFO L290 TraceCheckUtils]: 5: Hoare triple {43895#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {43895#true} is VALID [2022-04-27 11:38:32,002 INFO L272 TraceCheckUtils]: 4: Hoare triple {43895#true} call #t~ret10 := main(); {43895#true} is VALID [2022-04-27 11:38:32,002 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43895#true} {43895#true} #117#return; {43895#true} is VALID [2022-04-27 11:38:32,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {43895#true} assume true; {43895#true} is VALID [2022-04-27 11:38:32,002 INFO L290 TraceCheckUtils]: 1: Hoare triple {43895#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {43895#true} is VALID [2022-04-27 11:38:32,002 INFO L272 TraceCheckUtils]: 0: Hoare triple {43895#true} call ULTIMATE.init(); {43895#true} is VALID [2022-04-27 11:38:32,002 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-27 11:38:32,002 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2073194008] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:38:32,002 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:38:32,002 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 35 [2022-04-27 11:38:32,003 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [549653633] [2022-04-27 11:38:32,003 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:38:32,003 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 47 [2022-04-27 11:38:32,003 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:38:32,003 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:32,029 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-27 11:38:32,030 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-04-27 11:38:32,030 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:38:32,030 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-04-27 11:38:32,030 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=1109, Unknown=0, NotChecked=0, Total=1190 [2022-04-27 11:38:32,030 INFO L87 Difference]: Start difference. First operand 338 states and 395 transitions. Second operand has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:36,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:36,710 INFO L93 Difference]: Finished difference Result 344 states and 400 transitions. [2022-04-27 11:38:36,710 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-27 11:38:36,710 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 47 [2022-04-27 11:38:36,710 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:38:36,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:36,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 124 transitions. [2022-04-27 11:38:36,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:36,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 124 transitions. [2022-04-27 11:38:36,712 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 124 transitions. [2022-04-27 11:38:36,771 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-27 11:38:36,776 INFO L225 Difference]: With dead ends: 344 [2022-04-27 11:38:36,776 INFO L226 Difference]: Without dead ends: 322 [2022-04-27 11:38:36,777 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 82 SyntacticMatches, 9 SemanticMatches, 58 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 539 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=219, Invalid=3321, Unknown=0, NotChecked=0, Total=3540 [2022-04-27 11:38:36,778 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 120 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 2537 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 122 SdHoareTripleChecker+Valid, 205 SdHoareTripleChecker+Invalid, 2570 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 2537 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-27 11:38:36,778 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [122 Valid, 205 Invalid, 2570 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 2537 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-27 11:38:36,778 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 322 states. [2022-04-27 11:38:37,879 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 322 to 322. [2022-04-27 11:38:37,879 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:38:37,879 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-27 11:38:37,880 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-27 11:38:37,880 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-27 11:38:37,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:37,884 INFO L93 Difference]: Finished difference Result 322 states and 377 transitions. [2022-04-27 11:38:37,884 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 377 transitions. [2022-04-27 11:38:37,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:37,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:37,885 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-27 11:38:37,885 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-27 11:38:37,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:37,889 INFO L93 Difference]: Finished difference Result 322 states and 377 transitions. [2022-04-27 11:38:37,889 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 377 transitions. [2022-04-27 11:38:37,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:37,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:37,890 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:38:37,890 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:38:37,890 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-27 11:38:37,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 322 states to 322 states and 377 transitions. [2022-04-27 11:38:37,896 INFO L78 Accepts]: Start accepts. Automaton has 322 states and 377 transitions. Word has length 47 [2022-04-27 11:38:37,896 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:38:37,896 INFO L495 AbstractCegarLoop]: Abstraction has 322 states and 377 transitions. [2022-04-27 11:38:37,896 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:37,896 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 377 transitions. [2022-04-27 11:38:37,897 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-27 11:38:37,897 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:38:37,897 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:38:37,915 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-27 11:38:38,106 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 36 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable44 [2022-04-27 11:38:38,106 INFO L420 AbstractCegarLoop]: === Iteration 46 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:38:38,106 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:38:38,106 INFO L85 PathProgramCache]: Analyzing trace with hash -1271699905, now seen corresponding path program 36 times [2022-04-27 11:38:38,106 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:38:38,106 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1370101247] [2022-04-27 11:38:38,106 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:38:38,107 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:38:38,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:38,145 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:38:38,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:38,147 INFO L290 TraceCheckUtils]: 0: Hoare triple {45950#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {45912#true} is VALID [2022-04-27 11:38:38,147 INFO L290 TraceCheckUtils]: 1: Hoare triple {45912#true} assume true; {45912#true} is VALID [2022-04-27 11:38:38,147 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {45912#true} {45912#true} #117#return; {45912#true} is VALID [2022-04-27 11:38:38,147 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:38:38,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:38,221 INFO L290 TraceCheckUtils]: 0: Hoare triple {45912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {45951#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:38,221 INFO L290 TraceCheckUtils]: 1: Hoare triple {45951#(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; {45952#(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-27 11:38:38,222 INFO L290 TraceCheckUtils]: 2: Hoare triple {45952#(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; {45953#(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-27 11:38:38,222 INFO L290 TraceCheckUtils]: 3: Hoare triple {45953#(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; {45954#(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-27 11:38:38,223 INFO L290 TraceCheckUtils]: 4: Hoare triple {45954#(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); {45955#(and (<= |correct_version_#in~n| (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:38,223 INFO L290 TraceCheckUtils]: 5: Hoare triple {45955#(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; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,224 INFO L290 TraceCheckUtils]: 6: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~l~0 < ~m); {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,224 INFO L290 TraceCheckUtils]: 7: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,224 INFO L290 TraceCheckUtils]: 8: Hoare triple {45956#(<= |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; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,224 INFO L290 TraceCheckUtils]: 9: Hoare triple {45956#(<= |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; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,225 INFO L290 TraceCheckUtils]: 10: Hoare triple {45956#(<= |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; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,225 INFO L290 TraceCheckUtils]: 11: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,225 INFO L290 TraceCheckUtils]: 12: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} #res := ~y~0; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,226 INFO L290 TraceCheckUtils]: 13: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume true; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,226 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} {45912#true} #111#return; {45932#(<= main_~n~0 (* main_~a~0 3))} is VALID [2022-04-27 11:38:38,226 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 11:38:38,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:38,303 INFO L290 TraceCheckUtils]: 0: Hoare triple {45912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {45957#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:38:38,303 INFO L290 TraceCheckUtils]: 1: Hoare triple {45957#(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; {45958#(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-27 11:38:38,304 INFO L290 TraceCheckUtils]: 2: Hoare triple {45958#(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; {45959#(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-27 11:38:38,304 INFO L290 TraceCheckUtils]: 3: Hoare triple {45959#(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; {45960#(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-27 11:38:38,305 INFO L290 TraceCheckUtils]: 4: Hoare triple {45960#(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; {45961#(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-27 11:38:38,305 INFO L290 TraceCheckUtils]: 5: Hoare triple {45961#(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); {45962#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 3 student_version_~a) 1) |student_version_#in~n|))} is VALID [2022-04-27 11:38:38,305 INFO L290 TraceCheckUtils]: 6: Hoare triple {45962#(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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,305 INFO L290 TraceCheckUtils]: 7: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,306 INFO L290 TraceCheckUtils]: 8: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,306 INFO L290 TraceCheckUtils]: 9: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,306 INFO L290 TraceCheckUtils]: 10: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,306 INFO L290 TraceCheckUtils]: 11: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,306 INFO L290 TraceCheckUtils]: 12: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,306 INFO L290 TraceCheckUtils]: 13: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,307 INFO L290 TraceCheckUtils]: 14: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} #res := ~y~1; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,307 INFO L290 TraceCheckUtils]: 15: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume true; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,307 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} {45932#(<= main_~n~0 (* main_~a~0 3))} #113#return; {45913#false} is VALID [2022-04-27 11:38:38,308 INFO L272 TraceCheckUtils]: 0: Hoare triple {45912#true} call ULTIMATE.init(); {45950#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:38:38,308 INFO L290 TraceCheckUtils]: 1: Hoare triple {45950#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {45912#true} is VALID [2022-04-27 11:38:38,308 INFO L290 TraceCheckUtils]: 2: Hoare triple {45912#true} assume true; {45912#true} is VALID [2022-04-27 11:38:38,308 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45912#true} {45912#true} #117#return; {45912#true} is VALID [2022-04-27 11:38:38,308 INFO L272 TraceCheckUtils]: 4: Hoare triple {45912#true} call #t~ret10 := main(); {45912#true} is VALID [2022-04-27 11:38:38,308 INFO L290 TraceCheckUtils]: 5: Hoare triple {45912#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {45912#true} is VALID [2022-04-27 11:38:38,308 INFO L290 TraceCheckUtils]: 6: Hoare triple {45912#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {45912#true} is VALID [2022-04-27 11:38:38,308 INFO L272 TraceCheckUtils]: 7: Hoare triple {45912#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {45912#true} is VALID [2022-04-27 11:38:38,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {45912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {45951#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:38,309 INFO L290 TraceCheckUtils]: 9: Hoare triple {45951#(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; {45952#(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-27 11:38:38,309 INFO L290 TraceCheckUtils]: 10: Hoare triple {45952#(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; {45953#(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-27 11:38:38,309 INFO L290 TraceCheckUtils]: 11: Hoare triple {45953#(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; {45954#(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-27 11:38:38,310 INFO L290 TraceCheckUtils]: 12: Hoare triple {45954#(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); {45955#(and (<= |correct_version_#in~n| (* 3 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:38,310 INFO L290 TraceCheckUtils]: 13: Hoare triple {45955#(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; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,310 INFO L290 TraceCheckUtils]: 14: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~l~0 < ~m); {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,310 INFO L290 TraceCheckUtils]: 15: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,311 INFO L290 TraceCheckUtils]: 16: Hoare triple {45956#(<= |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; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,311 INFO L290 TraceCheckUtils]: 17: Hoare triple {45956#(<= |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; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,311 INFO L290 TraceCheckUtils]: 18: Hoare triple {45956#(<= |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; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,311 INFO L290 TraceCheckUtils]: 19: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,311 INFO L290 TraceCheckUtils]: 20: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} #res := ~y~0; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,312 INFO L290 TraceCheckUtils]: 21: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume true; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:38,312 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} {45912#true} #111#return; {45932#(<= main_~n~0 (* main_~a~0 3))} is VALID [2022-04-27 11:38:38,312 INFO L290 TraceCheckUtils]: 23: Hoare triple {45932#(<= main_~n~0 (* main_~a~0 3))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {45932#(<= main_~n~0 (* main_~a~0 3))} is VALID [2022-04-27 11:38:38,312 INFO L272 TraceCheckUtils]: 24: Hoare triple {45932#(<= main_~n~0 (* main_~a~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {45912#true} is VALID [2022-04-27 11:38:38,313 INFO L290 TraceCheckUtils]: 25: Hoare triple {45912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {45957#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:38:38,313 INFO L290 TraceCheckUtils]: 26: Hoare triple {45957#(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; {45958#(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-27 11:38:38,313 INFO L290 TraceCheckUtils]: 27: Hoare triple {45958#(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; {45959#(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-27 11:38:38,314 INFO L290 TraceCheckUtils]: 28: Hoare triple {45959#(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; {45960#(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-27 11:38:38,314 INFO L290 TraceCheckUtils]: 29: Hoare triple {45960#(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; {45961#(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-27 11:38:38,314 INFO L290 TraceCheckUtils]: 30: Hoare triple {45961#(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); {45962#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 3 student_version_~a) 1) |student_version_#in~n|))} is VALID [2022-04-27 11:38:38,315 INFO L290 TraceCheckUtils]: 31: Hoare triple {45962#(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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,315 INFO L290 TraceCheckUtils]: 32: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,315 INFO L290 TraceCheckUtils]: 33: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,315 INFO L290 TraceCheckUtils]: 34: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,315 INFO L290 TraceCheckUtils]: 35: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,315 INFO L290 TraceCheckUtils]: 36: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,316 INFO L290 TraceCheckUtils]: 37: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,316 INFO L290 TraceCheckUtils]: 38: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,316 INFO L290 TraceCheckUtils]: 39: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} #res := ~y~1; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,316 INFO L290 TraceCheckUtils]: 40: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume true; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:38,317 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} {45932#(<= main_~n~0 (* main_~a~0 3))} #113#return; {45913#false} is VALID [2022-04-27 11:38:38,317 INFO L290 TraceCheckUtils]: 42: Hoare triple {45913#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {45913#false} is VALID [2022-04-27 11:38:38,317 INFO L272 TraceCheckUtils]: 43: Hoare triple {45913#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {45913#false} is VALID [2022-04-27 11:38:38,317 INFO L290 TraceCheckUtils]: 44: Hoare triple {45913#false} ~cond := #in~cond; {45913#false} is VALID [2022-04-27 11:38:38,317 INFO L290 TraceCheckUtils]: 45: Hoare triple {45913#false} assume 0 == ~cond; {45913#false} is VALID [2022-04-27 11:38:38,317 INFO L290 TraceCheckUtils]: 46: Hoare triple {45913#false} assume !false; {45913#false} is VALID [2022-04-27 11:38:38,317 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-27 11:38:38,317 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:38:38,317 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1370101247] [2022-04-27 11:38:38,317 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1370101247] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:38:38,317 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [762890223] [2022-04-27 11:38:38,317 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-27 11:38:38,317 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:38:38,318 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:38:38,318 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-27 11:38:38,319 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-27 11:38:38,378 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-27 11:38:38,378 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:38:38,379 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-27 11:38:38,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:38,401 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:38:39,764 INFO L272 TraceCheckUtils]: 0: Hoare triple {45912#true} call ULTIMATE.init(); {45912#true} is VALID [2022-04-27 11:38:39,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {45912#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {45912#true} is VALID [2022-04-27 11:38:39,764 INFO L290 TraceCheckUtils]: 2: Hoare triple {45912#true} assume true; {45912#true} is VALID [2022-04-27 11:38:39,764 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45912#true} {45912#true} #117#return; {45912#true} is VALID [2022-04-27 11:38:39,765 INFO L272 TraceCheckUtils]: 4: Hoare triple {45912#true} call #t~ret10 := main(); {45912#true} is VALID [2022-04-27 11:38:39,765 INFO L290 TraceCheckUtils]: 5: Hoare triple {45912#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {45912#true} is VALID [2022-04-27 11:38:39,765 INFO L290 TraceCheckUtils]: 6: Hoare triple {45912#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {45912#true} is VALID [2022-04-27 11:38:39,765 INFO L272 TraceCheckUtils]: 7: Hoare triple {45912#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {45912#true} is VALID [2022-04-27 11:38:39,765 INFO L290 TraceCheckUtils]: 8: Hoare triple {45912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {45991#(and (<= correct_version_~b~0 0) (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:38:39,765 INFO L290 TraceCheckUtils]: 9: Hoare triple {45991#(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; {45995#(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-27 11:38:39,766 INFO L290 TraceCheckUtils]: 10: Hoare triple {45995#(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; {45999#(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-27 11:38:39,766 INFO L290 TraceCheckUtils]: 11: Hoare triple {45999#(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; {46003#(and (<= |correct_version_#in~n| correct_version_~n) (<= (div (- correct_version_~b~0) (- 3)) |correct_version_#in~a|))} is VALID [2022-04-27 11:38:39,767 INFO L290 TraceCheckUtils]: 12: Hoare triple {46003#(and (<= |correct_version_#in~n| correct_version_~n) (<= (div (- correct_version_~b~0) (- 3)) |correct_version_#in~a|))} assume !(~b~0 < ~n); {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:39,767 INFO L290 TraceCheckUtils]: 13: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:39,767 INFO L290 TraceCheckUtils]: 14: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~l~0 < ~m); {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:39,768 INFO L290 TraceCheckUtils]: 15: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:39,768 INFO L290 TraceCheckUtils]: 16: Hoare triple {45956#(<= |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; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:39,768 INFO L290 TraceCheckUtils]: 17: Hoare triple {45956#(<= |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; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:39,768 INFO L290 TraceCheckUtils]: 18: Hoare triple {45956#(<= |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; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:39,769 INFO L290 TraceCheckUtils]: 19: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:39,769 INFO L290 TraceCheckUtils]: 20: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} #res := ~y~0; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:39,769 INFO L290 TraceCheckUtils]: 21: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume true; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:39,770 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} {45912#true} #111#return; {45932#(<= main_~n~0 (* main_~a~0 3))} is VALID [2022-04-27 11:38:39,770 INFO L290 TraceCheckUtils]: 23: Hoare triple {45932#(<= main_~n~0 (* main_~a~0 3))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {45932#(<= main_~n~0 (* main_~a~0 3))} is VALID [2022-04-27 11:38:39,770 INFO L272 TraceCheckUtils]: 24: Hoare triple {45932#(<= main_~n~0 (* main_~a~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {45912#true} is VALID [2022-04-27 11:38:39,770 INFO L290 TraceCheckUtils]: 25: Hoare triple {45912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {46046#(and (<= 0 student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-27 11:38:39,771 INFO L290 TraceCheckUtils]: 26: Hoare triple {46046#(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; {46050#(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-27 11:38:39,771 INFO L290 TraceCheckUtils]: 27: Hoare triple {46050#(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; {46054#(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-27 11:38:39,772 INFO L290 TraceCheckUtils]: 28: Hoare triple {46054#(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; {46058#(and (<= |student_version_#in~a| (div student_version_~b~1 3)) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-27 11:38:39,772 INFO L290 TraceCheckUtils]: 29: Hoare triple {46058#(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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:39,772 INFO L290 TraceCheckUtils]: 30: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:39,772 INFO L290 TraceCheckUtils]: 31: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:39,773 INFO L290 TraceCheckUtils]: 32: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:39,773 INFO L290 TraceCheckUtils]: 33: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:39,773 INFO L290 TraceCheckUtils]: 34: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:39,773 INFO L290 TraceCheckUtils]: 35: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:39,774 INFO L290 TraceCheckUtils]: 36: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:39,774 INFO L290 TraceCheckUtils]: 37: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:39,774 INFO L290 TraceCheckUtils]: 38: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:39,774 INFO L290 TraceCheckUtils]: 39: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} #res := ~y~1; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:39,774 INFO L290 TraceCheckUtils]: 40: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume true; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:39,775 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} {45932#(<= main_~n~0 (* main_~a~0 3))} #113#return; {45913#false} is VALID [2022-04-27 11:38:39,775 INFO L290 TraceCheckUtils]: 42: Hoare triple {45913#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {45913#false} is VALID [2022-04-27 11:38:39,775 INFO L272 TraceCheckUtils]: 43: Hoare triple {45913#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {45913#false} is VALID [2022-04-27 11:38:39,775 INFO L290 TraceCheckUtils]: 44: Hoare triple {45913#false} ~cond := #in~cond; {45913#false} is VALID [2022-04-27 11:38:39,775 INFO L290 TraceCheckUtils]: 45: Hoare triple {45913#false} assume 0 == ~cond; {45913#false} is VALID [2022-04-27 11:38:39,775 INFO L290 TraceCheckUtils]: 46: Hoare triple {45913#false} assume !false; {45913#false} is VALID [2022-04-27 11:38:39,775 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-27 11:38:39,775 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:38:40,479 INFO L290 TraceCheckUtils]: 46: Hoare triple {45913#false} assume !false; {45913#false} is VALID [2022-04-27 11:38:40,479 INFO L290 TraceCheckUtils]: 45: Hoare triple {45913#false} assume 0 == ~cond; {45913#false} is VALID [2022-04-27 11:38:40,480 INFO L290 TraceCheckUtils]: 44: Hoare triple {45913#false} ~cond := #in~cond; {45913#false} is VALID [2022-04-27 11:38:40,480 INFO L272 TraceCheckUtils]: 43: Hoare triple {45913#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {45913#false} is VALID [2022-04-27 11:38:40,480 INFO L290 TraceCheckUtils]: 42: Hoare triple {45913#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {45913#false} is VALID [2022-04-27 11:38:40,484 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} {45932#(<= main_~n~0 (* main_~a~0 3))} #113#return; {45913#false} is VALID [2022-04-27 11:38:40,484 INFO L290 TraceCheckUtils]: 40: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume true; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:40,484 INFO L290 TraceCheckUtils]: 39: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} #res := ~y~1; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:40,485 INFO L290 TraceCheckUtils]: 38: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:40,485 INFO L290 TraceCheckUtils]: 37: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:40,485 INFO L290 TraceCheckUtils]: 36: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:40,485 INFO L290 TraceCheckUtils]: 35: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:40,485 INFO L290 TraceCheckUtils]: 34: Hoare triple {45963#(<= (+ (* |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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:40,485 INFO L290 TraceCheckUtils]: 33: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:40,486 INFO L290 TraceCheckUtils]: 32: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:40,486 INFO L290 TraceCheckUtils]: 31: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:40,486 INFO L290 TraceCheckUtils]: 30: Hoare triple {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:40,486 INFO L290 TraceCheckUtils]: 29: Hoare triple {46167#(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; {45963#(<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:38:40,487 INFO L290 TraceCheckUtils]: 28: Hoare triple {46171#(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; {46167#(or (<= (+ (* |student_version_#in~a| 3) 1) |student_version_#in~n|) (not (< student_version_~b~1 student_version_~n)))} is VALID [2022-04-27 11:38:40,487 INFO L290 TraceCheckUtils]: 27: Hoare triple {46175#(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; {46171#(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-27 11:38:40,487 INFO L290 TraceCheckUtils]: 26: Hoare triple {46179#(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; {46175#(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-27 11:38:40,488 INFO L290 TraceCheckUtils]: 25: Hoare triple {45912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {46179#(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-27 11:38:40,488 INFO L272 TraceCheckUtils]: 24: Hoare triple {45932#(<= main_~n~0 (* main_~a~0 3))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {45912#true} is VALID [2022-04-27 11:38:40,488 INFO L290 TraceCheckUtils]: 23: Hoare triple {45932#(<= main_~n~0 (* main_~a~0 3))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {45932#(<= main_~n~0 (* main_~a~0 3))} is VALID [2022-04-27 11:38:40,489 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} {45912#true} #111#return; {45932#(<= main_~n~0 (* main_~a~0 3))} is VALID [2022-04-27 11:38:40,489 INFO L290 TraceCheckUtils]: 21: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume true; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:40,489 INFO L290 TraceCheckUtils]: 20: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} #res := ~y~0; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:40,489 INFO L290 TraceCheckUtils]: 19: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:40,489 INFO L290 TraceCheckUtils]: 18: Hoare triple {45956#(<= |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; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:40,490 INFO L290 TraceCheckUtils]: 17: Hoare triple {45956#(<= |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; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:40,490 INFO L290 TraceCheckUtils]: 16: Hoare triple {45956#(<= |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; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:40,490 INFO L290 TraceCheckUtils]: 15: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:40,490 INFO L290 TraceCheckUtils]: 14: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !(~l~0 < ~m); {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:40,490 INFO L290 TraceCheckUtils]: 13: Hoare triple {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:40,491 INFO L290 TraceCheckUtils]: 12: Hoare triple {46222#(or (< correct_version_~b~0 correct_version_~n) (<= |correct_version_#in~n| (* 3 |correct_version_#in~a|)))} assume !(~b~0 < ~n); {45956#(<= |correct_version_#in~n| (* 3 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:40,491 INFO L290 TraceCheckUtils]: 11: Hoare triple {46226#(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; {46222#(or (< correct_version_~b~0 correct_version_~n) (<= |correct_version_#in~n| (* 3 |correct_version_#in~a|)))} is VALID [2022-04-27 11:38:40,491 INFO L290 TraceCheckUtils]: 10: Hoare triple {46230#(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; {46226#(or (<= |correct_version_#in~n| (* 3 |correct_version_#in~a|)) (< (+ correct_version_~b~0 correct_version_~a) correct_version_~n))} is VALID [2022-04-27 11:38:40,492 INFO L290 TraceCheckUtils]: 9: Hoare triple {46234#(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; {46230#(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-27 11:38:40,492 INFO L290 TraceCheckUtils]: 8: Hoare triple {45912#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {46234#(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-27 11:38:40,492 INFO L272 TraceCheckUtils]: 7: Hoare triple {45912#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {45912#true} is VALID [2022-04-27 11:38:40,492 INFO L290 TraceCheckUtils]: 6: Hoare triple {45912#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {45912#true} is VALID [2022-04-27 11:38:40,492 INFO L290 TraceCheckUtils]: 5: Hoare triple {45912#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {45912#true} is VALID [2022-04-27 11:38:40,492 INFO L272 TraceCheckUtils]: 4: Hoare triple {45912#true} call #t~ret10 := main(); {45912#true} is VALID [2022-04-27 11:38:40,492 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45912#true} {45912#true} #117#return; {45912#true} is VALID [2022-04-27 11:38:40,492 INFO L290 TraceCheckUtils]: 2: Hoare triple {45912#true} assume true; {45912#true} is VALID [2022-04-27 11:38:40,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {45912#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {45912#true} is VALID [2022-04-27 11:38:40,493 INFO L272 TraceCheckUtils]: 0: Hoare triple {45912#true} call ULTIMATE.init(); {45912#true} is VALID [2022-04-27 11:38:40,493 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-27 11:38:40,493 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [762890223] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:38:40,493 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:38:40,493 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13, 13] total 33 [2022-04-27 11:38:40,493 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [547436832] [2022-04-27 11:38:40,493 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:38:40,493 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 32 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-27 11:38:40,494 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:38:40,494 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 32 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:40,520 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:38:40,520 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-27 11:38:40,520 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:38:40,520 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-27 11:38:40,520 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=945, Unknown=0, NotChecked=0, Total=1056 [2022-04-27 11:38:40,520 INFO L87 Difference]: Start difference. First operand 322 states and 377 transitions. Second operand has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 32 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:43,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:43,248 INFO L93 Difference]: Finished difference Result 378 states and 443 transitions. [2022-04-27 11:38:43,249 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-27 11:38:43,249 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 32 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-27 11:38:43,249 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:38:43,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 32 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:43,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 110 transitions. [2022-04-27 11:38:43,250 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 32 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:43,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 110 transitions. [2022-04-27 11:38:43,250 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 110 transitions. [2022-04-27 11:38:43,324 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-27 11:38:43,332 INFO L225 Difference]: With dead ends: 378 [2022-04-27 11:38:43,332 INFO L226 Difference]: Without dead ends: 362 [2022-04-27 11:38:43,334 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 76 SyntacticMatches, 6 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 294 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=252, Invalid=2100, Unknown=0, NotChecked=0, Total=2352 [2022-04-27 11:38:43,334 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 348 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 1064 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 352 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 1103 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 1064 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-27 11:38:43,334 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [352 Valid, 126 Invalid, 1103 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 1064 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-27 11:38:43,334 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 362 states. [2022-04-27 11:38:44,634 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 362 to 357. [2022-04-27 11:38:44,634 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:38:44,634 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-27 11:38:44,635 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-27 11:38:44,635 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-27 11:38:44,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:44,640 INFO L93 Difference]: Finished difference Result 362 states and 421 transitions. [2022-04-27 11:38:44,640 INFO L276 IsEmpty]: Start isEmpty. Operand 362 states and 421 transitions. [2022-04-27 11:38:44,656 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:44,656 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:44,656 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-27 11:38:44,657 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-27 11:38:44,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:44,662 INFO L93 Difference]: Finished difference Result 362 states and 421 transitions. [2022-04-27 11:38:44,662 INFO L276 IsEmpty]: Start isEmpty. Operand 362 states and 421 transitions. [2022-04-27 11:38:44,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:44,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:44,663 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:38:44,663 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:38:44,663 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-27 11:38:44,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 357 states to 357 states and 416 transitions. [2022-04-27 11:38:44,670 INFO L78 Accepts]: Start accepts. Automaton has 357 states and 416 transitions. Word has length 47 [2022-04-27 11:38:44,670 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:38:44,670 INFO L495 AbstractCegarLoop]: Abstraction has 357 states and 416 transitions. [2022-04-27 11:38:44,670 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 32 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:44,670 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 416 transitions. [2022-04-27 11:38:44,671 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-27 11:38:44,671 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:38:44,671 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:38:44,688 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-27 11:38:44,883 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable45,37 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:38:44,884 INFO L420 AbstractCegarLoop]: === Iteration 47 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:38:44,884 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:38:44,884 INFO L85 PathProgramCache]: Analyzing trace with hash 83484810, now seen corresponding path program 37 times [2022-04-27 11:38:44,884 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:38:44,884 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1726915863] [2022-04-27 11:38:44,884 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:38:44,884 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:38:44,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:44,970 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:38:44,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:44,975 INFO L290 TraceCheckUtils]: 0: Hoare triple {48101#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {48058#true} is VALID [2022-04-27 11:38:44,976 INFO L290 TraceCheckUtils]: 1: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-27 11:38:44,976 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {48058#true} {48058#true} #117#return; {48058#true} is VALID [2022-04-27 11:38:44,976 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:38:44,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:45,096 INFO L290 TraceCheckUtils]: 0: Hoare triple {48058#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:45,097 INFO L290 TraceCheckUtils]: 1: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:45,097 INFO L290 TraceCheckUtils]: 2: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:45,098 INFO L290 TraceCheckUtils]: 3: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:45,098 INFO L290 TraceCheckUtils]: 4: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:45,098 INFO L290 TraceCheckUtils]: 5: Hoare triple {48102#(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; {48103#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:38:45,099 INFO L290 TraceCheckUtils]: 6: Hoare triple {48103#(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; {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:45,099 INFO L290 TraceCheckUtils]: 7: Hoare triple {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:45,099 INFO L290 TraceCheckUtils]: 8: Hoare triple {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {48105#(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-27 11:38:45,100 INFO L290 TraceCheckUtils]: 9: Hoare triple {48105#(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; {48106#(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-27 11:38:45,100 INFO L290 TraceCheckUtils]: 10: Hoare triple {48106#(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; {48107#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-27 11:38:45,101 INFO L290 TraceCheckUtils]: 11: Hoare triple {48107#(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; {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:45,101 INFO L290 TraceCheckUtils]: 12: Hoare triple {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:45,102 INFO L290 TraceCheckUtils]: 13: Hoare triple {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:45,102 INFO L290 TraceCheckUtils]: 14: Hoare triple {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:45,103 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {48058#true} #111#return; {48079#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-27 11:38:45,103 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-27 11:38:45,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:45,264 INFO L290 TraceCheckUtils]: 0: Hoare triple {48058#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:45,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:45,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:45,266 INFO L290 TraceCheckUtils]: 3: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:45,266 INFO L290 TraceCheckUtils]: 4: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:45,266 INFO L290 TraceCheckUtils]: 5: Hoare triple {48110#(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; {48111#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:38:45,267 INFO L290 TraceCheckUtils]: 6: Hoare triple {48111#(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; {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:45,267 INFO L290 TraceCheckUtils]: 7: Hoare triple {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:45,267 INFO L290 TraceCheckUtils]: 8: Hoare triple {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {48113#(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-27 11:38:45,268 INFO L290 TraceCheckUtils]: 9: Hoare triple {48113#(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; {48114#(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-27 11:38:45,268 INFO L290 TraceCheckUtils]: 10: Hoare triple {48114#(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; {48115#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-27 11:38:45,269 INFO L290 TraceCheckUtils]: 11: Hoare triple {48115#(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; {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:45,269 INFO L290 TraceCheckUtils]: 12: Hoare triple {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:45,270 INFO L290 TraceCheckUtils]: 13: Hoare triple {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:45,270 INFO L290 TraceCheckUtils]: 14: Hoare triple {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:45,271 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {48080#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {48097#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:38:45,271 INFO L272 TraceCheckUtils]: 0: Hoare triple {48058#true} call ULTIMATE.init(); {48101#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:38:45,271 INFO L290 TraceCheckUtils]: 1: Hoare triple {48101#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {48058#true} is VALID [2022-04-27 11:38:45,271 INFO L290 TraceCheckUtils]: 2: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-27 11:38:45,271 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {48058#true} {48058#true} #117#return; {48058#true} is VALID [2022-04-27 11:38:45,271 INFO L272 TraceCheckUtils]: 4: Hoare triple {48058#true} call #t~ret10 := main(); {48058#true} is VALID [2022-04-27 11:38:45,271 INFO L290 TraceCheckUtils]: 5: Hoare triple {48058#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {48058#true} is VALID [2022-04-27 11:38:45,271 INFO L290 TraceCheckUtils]: 6: Hoare triple {48058#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {48058#true} is VALID [2022-04-27 11:38:45,272 INFO L272 TraceCheckUtils]: 7: Hoare triple {48058#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {48058#true} is VALID [2022-04-27 11:38:45,272 INFO L290 TraceCheckUtils]: 8: Hoare triple {48058#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:45,272 INFO L290 TraceCheckUtils]: 9: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:45,273 INFO L290 TraceCheckUtils]: 10: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:45,273 INFO L290 TraceCheckUtils]: 11: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:45,273 INFO L290 TraceCheckUtils]: 12: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:45,274 INFO L290 TraceCheckUtils]: 13: Hoare triple {48102#(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; {48103#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:38:45,274 INFO L290 TraceCheckUtils]: 14: Hoare triple {48103#(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; {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:45,274 INFO L290 TraceCheckUtils]: 15: Hoare triple {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:45,275 INFO L290 TraceCheckUtils]: 16: Hoare triple {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {48105#(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-27 11:38:45,275 INFO L290 TraceCheckUtils]: 17: Hoare triple {48105#(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; {48106#(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-27 11:38:45,276 INFO L290 TraceCheckUtils]: 18: Hoare triple {48106#(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; {48107#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-27 11:38:45,276 INFO L290 TraceCheckUtils]: 19: Hoare triple {48107#(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; {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:45,277 INFO L290 TraceCheckUtils]: 20: Hoare triple {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:45,277 INFO L290 TraceCheckUtils]: 21: Hoare triple {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:45,277 INFO L290 TraceCheckUtils]: 22: Hoare triple {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:45,278 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {48058#true} #111#return; {48079#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-27 11:38:45,278 INFO L290 TraceCheckUtils]: 24: Hoare triple {48079#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {48080#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-27 11:38:45,278 INFO L272 TraceCheckUtils]: 25: Hoare triple {48080#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {48058#true} is VALID [2022-04-27 11:38:45,278 INFO L290 TraceCheckUtils]: 26: Hoare triple {48058#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:45,279 INFO L290 TraceCheckUtils]: 27: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:45,279 INFO L290 TraceCheckUtils]: 28: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:45,280 INFO L290 TraceCheckUtils]: 29: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:45,280 INFO L290 TraceCheckUtils]: 30: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:45,280 INFO L290 TraceCheckUtils]: 31: Hoare triple {48110#(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; {48111#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:38:45,281 INFO L290 TraceCheckUtils]: 32: Hoare triple {48111#(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; {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:45,281 INFO L290 TraceCheckUtils]: 33: Hoare triple {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:45,281 INFO L290 TraceCheckUtils]: 34: Hoare triple {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {48113#(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-27 11:38:45,282 INFO L290 TraceCheckUtils]: 35: Hoare triple {48113#(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; {48114#(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-27 11:38:45,282 INFO L290 TraceCheckUtils]: 36: Hoare triple {48114#(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; {48115#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-27 11:38:45,283 INFO L290 TraceCheckUtils]: 37: Hoare triple {48115#(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; {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:45,283 INFO L290 TraceCheckUtils]: 38: Hoare triple {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:45,283 INFO L290 TraceCheckUtils]: 39: Hoare triple {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:45,284 INFO L290 TraceCheckUtils]: 40: Hoare triple {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:45,284 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {48080#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {48097#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:38:45,285 INFO L290 TraceCheckUtils]: 42: Hoare triple {48097#(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; {48098#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:38:45,285 INFO L272 TraceCheckUtils]: 43: Hoare triple {48098#(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)); {48099#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:38:45,286 INFO L290 TraceCheckUtils]: 44: Hoare triple {48099#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {48100#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:38:45,286 INFO L290 TraceCheckUtils]: 45: Hoare triple {48100#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {48059#false} is VALID [2022-04-27 11:38:45,286 INFO L290 TraceCheckUtils]: 46: Hoare triple {48059#false} assume !false; {48059#false} is VALID [2022-04-27 11:38:45,286 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-27 11:38:45,286 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:38:45,286 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1726915863] [2022-04-27 11:38:45,286 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1726915863] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:38:45,287 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1933304246] [2022-04-27 11:38:45,287 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-04-27 11:38:45,287 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:38:45,287 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:38:45,288 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-27 11:38:45,288 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-27 11:38:45,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:45,365 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-27 11:38:45,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:45,373 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:38:46,025 INFO L272 TraceCheckUtils]: 0: Hoare triple {48058#true} call ULTIMATE.init(); {48058#true} is VALID [2022-04-27 11:38:46,025 INFO L290 TraceCheckUtils]: 1: Hoare triple {48058#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {48058#true} is VALID [2022-04-27 11:38:46,025 INFO L290 TraceCheckUtils]: 2: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-27 11:38:46,025 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {48058#true} {48058#true} #117#return; {48058#true} is VALID [2022-04-27 11:38:46,025 INFO L272 TraceCheckUtils]: 4: Hoare triple {48058#true} call #t~ret10 := main(); {48058#true} is VALID [2022-04-27 11:38:46,025 INFO L290 TraceCheckUtils]: 5: Hoare triple {48058#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {48058#true} is VALID [2022-04-27 11:38:46,025 INFO L290 TraceCheckUtils]: 6: Hoare triple {48058#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {48058#true} is VALID [2022-04-27 11:38:46,025 INFO L272 TraceCheckUtils]: 7: Hoare triple {48058#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {48058#true} is VALID [2022-04-27 11:38:46,026 INFO L290 TraceCheckUtils]: 8: Hoare triple {48058#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:46,026 INFO L290 TraceCheckUtils]: 9: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:46,026 INFO L290 TraceCheckUtils]: 10: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:46,027 INFO L290 TraceCheckUtils]: 11: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:46,027 INFO L290 TraceCheckUtils]: 12: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:46,028 INFO L290 TraceCheckUtils]: 13: Hoare triple {48102#(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; {48103#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:38:46,028 INFO L290 TraceCheckUtils]: 14: Hoare triple {48103#(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; {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:46,028 INFO L290 TraceCheckUtils]: 15: Hoare triple {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:46,029 INFO L290 TraceCheckUtils]: 16: Hoare triple {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {48169#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 0))} is VALID [2022-04-27 11:38:46,029 INFO L290 TraceCheckUtils]: 17: Hoare triple {48169#(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; {48173#(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-27 11:38:46,030 INFO L290 TraceCheckUtils]: 18: Hoare triple {48173#(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; {48177#(and (<= 2 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 2) correct_version_~j~0)) 0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:46,030 INFO L290 TraceCheckUtils]: 19: Hoare triple {48177#(and (<= 2 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 2) correct_version_~j~0)) 0) (<= correct_version_~j~0 2))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:46,030 INFO L290 TraceCheckUtils]: 20: Hoare triple {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:46,031 INFO L290 TraceCheckUtils]: 21: Hoare triple {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:46,031 INFO L290 TraceCheckUtils]: 22: Hoare triple {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:46,032 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {48058#true} #111#return; {48079#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-27 11:38:46,032 INFO L290 TraceCheckUtils]: 24: Hoare triple {48079#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {48080#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-27 11:38:46,032 INFO L272 TraceCheckUtils]: 25: Hoare triple {48080#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {48058#true} is VALID [2022-04-27 11:38:46,032 INFO L290 TraceCheckUtils]: 26: Hoare triple {48058#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:46,033 INFO L290 TraceCheckUtils]: 27: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:46,033 INFO L290 TraceCheckUtils]: 28: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:46,033 INFO L290 TraceCheckUtils]: 29: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:46,034 INFO L290 TraceCheckUtils]: 30: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:46,034 INFO L290 TraceCheckUtils]: 31: Hoare triple {48110#(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; {48111#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:38:46,035 INFO L290 TraceCheckUtils]: 32: Hoare triple {48111#(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; {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:46,035 INFO L290 TraceCheckUtils]: 33: Hoare triple {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:46,035 INFO L290 TraceCheckUtils]: 34: Hoare triple {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {48226#(and (= student_version_~y~1 0) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:46,036 INFO L290 TraceCheckUtils]: 35: Hoare triple {48226#(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; {48230#(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-27 11:38:46,036 INFO L290 TraceCheckUtils]: 36: Hoare triple {48230#(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; {48234#(and (<= student_version_~j~1 2) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:46,037 INFO L290 TraceCheckUtils]: 37: Hoare triple {48234#(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; {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:46,037 INFO L290 TraceCheckUtils]: 38: Hoare triple {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:46,037 INFO L290 TraceCheckUtils]: 39: Hoare triple {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:46,038 INFO L290 TraceCheckUtils]: 40: Hoare triple {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:46,038 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {48080#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {48250#(and (<= 6 |main_#t~ret9|) (<= 6 main_~n_stones1~0) (<= |main_#t~ret9| 6) (<= main_~n_stones1~0 6))} is VALID [2022-04-27 11:38:46,039 INFO L290 TraceCheckUtils]: 42: Hoare triple {48250#(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; {48254#(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-27 11:38:46,039 INFO L272 TraceCheckUtils]: 43: Hoare triple {48254#(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)); {48258#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:38:46,040 INFO L290 TraceCheckUtils]: 44: Hoare triple {48258#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {48262#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:38:46,040 INFO L290 TraceCheckUtils]: 45: Hoare triple {48262#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {48059#false} is VALID [2022-04-27 11:38:46,040 INFO L290 TraceCheckUtils]: 46: Hoare triple {48059#false} assume !false; {48059#false} is VALID [2022-04-27 11:38:46,040 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-27 11:38:46,040 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:38:46,471 INFO L290 TraceCheckUtils]: 46: Hoare triple {48059#false} assume !false; {48059#false} is VALID [2022-04-27 11:38:46,472 INFO L290 TraceCheckUtils]: 45: Hoare triple {48262#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {48059#false} is VALID [2022-04-27 11:38:46,472 INFO L290 TraceCheckUtils]: 44: Hoare triple {48258#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {48262#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:38:46,473 INFO L272 TraceCheckUtils]: 43: Hoare triple {48098#(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)); {48258#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:38:46,473 INFO L290 TraceCheckUtils]: 42: Hoare triple {48097#(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; {48098#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:38:46,474 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} {48080#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} #113#return; {48097#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:38:46,474 INFO L290 TraceCheckUtils]: 40: Hoare triple {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} assume true; {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:46,475 INFO L290 TraceCheckUtils]: 39: Hoare triple {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} #res := ~y~1; {48117#(and (<= |student_version_#res| 6) (<= 6 |student_version_#res|))} is VALID [2022-04-27 11:38:46,475 INFO L290 TraceCheckUtils]: 38: Hoare triple {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} assume !(~x~1 < ~i~1); {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:46,475 INFO L290 TraceCheckUtils]: 37: Hoare triple {48115#(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; {48116#(and (<= student_version_~y~1 6) (<= 6 student_version_~y~1))} is VALID [2022-04-27 11:38:46,476 INFO L290 TraceCheckUtils]: 36: Hoare triple {48114#(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; {48115#(and (<= 6 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 6))} is VALID [2022-04-27 11:38:46,476 INFO L290 TraceCheckUtils]: 35: Hoare triple {48113#(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; {48114#(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-27 11:38:46,477 INFO L290 TraceCheckUtils]: 34: Hoare triple {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {48113#(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-27 11:38:46,477 INFO L290 TraceCheckUtils]: 33: Hoare triple {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:46,478 INFO L290 TraceCheckUtils]: 32: Hoare triple {48111#(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; {48112#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:38:46,478 INFO L290 TraceCheckUtils]: 31: Hoare triple {48110#(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; {48111#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:38:46,478 INFO L290 TraceCheckUtils]: 30: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:46,479 INFO L290 TraceCheckUtils]: 29: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:46,479 INFO L290 TraceCheckUtils]: 28: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:46,479 INFO L290 TraceCheckUtils]: 27: Hoare triple {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:46,480 INFO L290 TraceCheckUtils]: 26: Hoare triple {48058#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {48110#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:38:46,480 INFO L272 TraceCheckUtils]: 25: Hoare triple {48080#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {48058#true} is VALID [2022-04-27 11:38:46,480 INFO L290 TraceCheckUtils]: 24: Hoare triple {48079#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {48080#(and (<= 6 main_~n_stones1~0) (<= main_~n_stones1~0 6))} is VALID [2022-04-27 11:38:46,481 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} {48058#true} #111#return; {48079#(and (<= 6 |main_#t~ret8|) (<= |main_#t~ret8| 6))} is VALID [2022-04-27 11:38:46,481 INFO L290 TraceCheckUtils]: 22: Hoare triple {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} assume true; {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:46,481 INFO L290 TraceCheckUtils]: 21: Hoare triple {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} #res := ~y~0; {48109#(and (<= 6 |correct_version_#res|) (<= |correct_version_#res| 6))} is VALID [2022-04-27 11:38:46,482 INFO L290 TraceCheckUtils]: 20: Hoare triple {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} assume !(~x~0 < ~i~0); {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:46,482 INFO L290 TraceCheckUtils]: 19: Hoare triple {48107#(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; {48108#(and (<= 6 correct_version_~y~0) (<= correct_version_~y~0 6))} is VALID [2022-04-27 11:38:46,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {48106#(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; {48107#(and (<= 6 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 6))} is VALID [2022-04-27 11:38:46,483 INFO L290 TraceCheckUtils]: 17: Hoare triple {48105#(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; {48106#(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-27 11:38:46,484 INFO L290 TraceCheckUtils]: 16: Hoare triple {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {48105#(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-27 11:38:46,484 INFO L290 TraceCheckUtils]: 15: Hoare triple {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:46,484 INFO L290 TraceCheckUtils]: 14: Hoare triple {48103#(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; {48104#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:38:46,485 INFO L290 TraceCheckUtils]: 13: Hoare triple {48102#(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; {48103#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:38:46,485 INFO L290 TraceCheckUtils]: 12: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:46,485 INFO L290 TraceCheckUtils]: 11: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:46,486 INFO L290 TraceCheckUtils]: 10: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:46,486 INFO L290 TraceCheckUtils]: 9: Hoare triple {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:46,486 INFO L290 TraceCheckUtils]: 8: Hoare triple {48058#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {48102#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:38:46,487 INFO L272 TraceCheckUtils]: 7: Hoare triple {48058#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {48058#true} is VALID [2022-04-27 11:38:46,487 INFO L290 TraceCheckUtils]: 6: Hoare triple {48058#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {48058#true} is VALID [2022-04-27 11:38:46,487 INFO L290 TraceCheckUtils]: 5: Hoare triple {48058#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {48058#true} is VALID [2022-04-27 11:38:46,487 INFO L272 TraceCheckUtils]: 4: Hoare triple {48058#true} call #t~ret10 := main(); {48058#true} is VALID [2022-04-27 11:38:46,487 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {48058#true} {48058#true} #117#return; {48058#true} is VALID [2022-04-27 11:38:46,487 INFO L290 TraceCheckUtils]: 2: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-27 11:38:46,487 INFO L290 TraceCheckUtils]: 1: Hoare triple {48058#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {48058#true} is VALID [2022-04-27 11:38:46,487 INFO L272 TraceCheckUtils]: 0: Hoare triple {48058#true} call ULTIMATE.init(); {48058#true} is VALID [2022-04-27 11:38:46,487 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-27 11:38:46,487 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1933304246] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:38:46,487 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:38:46,487 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 35 [2022-04-27 11:38:46,487 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [258540167] [2022-04-27 11:38:46,487 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:38:46,488 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 47 [2022-04-27 11:38:46,488 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:38:46,488 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:46,525 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-27 11:38:46,525 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-04-27 11:38:46,525 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:38:46,525 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-04-27 11:38:46,526 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=1105, Unknown=0, NotChecked=0, Total=1190 [2022-04-27 11:38:46,526 INFO L87 Difference]: Start difference. First operand 357 states and 416 transitions. Second operand has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:49,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:49,552 INFO L93 Difference]: Finished difference Result 375 states and 438 transitions. [2022-04-27 11:38:49,552 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-27 11:38:49,552 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 47 [2022-04-27 11:38:49,552 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:38:49,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:49,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 98 transitions. [2022-04-27 11:38:49,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:49,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 98 transitions. [2022-04-27 11:38:49,554 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 98 transitions. [2022-04-27 11:38:49,607 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-27 11:38:49,614 INFO L225 Difference]: With dead ends: 375 [2022-04-27 11:38:49,614 INFO L226 Difference]: Without dead ends: 359 [2022-04-27 11:38:49,616 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 145 GetRequests, 80 SyntacticMatches, 9 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 544 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=221, Invalid=3085, Unknown=0, NotChecked=0, Total=3306 [2022-04-27 11:38:49,616 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 79 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 1553 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 81 SdHoareTripleChecker+Valid, 168 SdHoareTripleChecker+Invalid, 1585 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 1553 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-27 11:38:49,616 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [81 Valid, 168 Invalid, 1585 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 1553 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-27 11:38:49,616 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 359 states. [2022-04-27 11:38:51,425 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 359 to 354. [2022-04-27 11:38:51,425 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:38:51,426 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-27 11:38:51,426 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-27 11:38:51,426 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-27 11:38:51,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:51,432 INFO L93 Difference]: Finished difference Result 359 states and 419 transitions. [2022-04-27 11:38:51,432 INFO L276 IsEmpty]: Start isEmpty. Operand 359 states and 419 transitions. [2022-04-27 11:38:51,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:51,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:51,433 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-27 11:38:51,433 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-27 11:38:51,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:51,438 INFO L93 Difference]: Finished difference Result 359 states and 419 transitions. [2022-04-27 11:38:51,439 INFO L276 IsEmpty]: Start isEmpty. Operand 359 states and 419 transitions. [2022-04-27 11:38:51,439 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:51,439 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:51,439 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:38:51,440 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:38:51,440 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-27 11:38:51,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 354 states to 354 states and 414 transitions. [2022-04-27 11:38:51,446 INFO L78 Accepts]: Start accepts. Automaton has 354 states and 414 transitions. Word has length 47 [2022-04-27 11:38:51,446 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:38:51,446 INFO L495 AbstractCegarLoop]: Abstraction has 354 states and 414 transitions. [2022-04-27 11:38:51,446 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 35 states, 32 states have (on average 1.46875) internal successors, (47), 29 states have internal predecessors, (47), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:38:51,446 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 414 transitions. [2022-04-27 11:38:51,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-27 11:38:51,448 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:38:51,448 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:38:51,465 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Ended with exit code 0 [2022-04-27 11:38:51,665 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 38 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable46 [2022-04-27 11:38:51,665 INFO L420 AbstractCegarLoop]: === Iteration 48 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:38:51,665 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:38:51,665 INFO L85 PathProgramCache]: Analyzing trace with hash -1251929861, now seen corresponding path program 38 times [2022-04-27 11:38:51,665 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:38:51,665 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1472770107] [2022-04-27 11:38:51,666 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:38:51,666 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:38:51,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:51,700 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:38:51,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:51,703 INFO L290 TraceCheckUtils]: 0: Hoare triple {50243#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {50205#true} is VALID [2022-04-27 11:38:51,703 INFO L290 TraceCheckUtils]: 1: Hoare triple {50205#true} assume true; {50205#true} is VALID [2022-04-27 11:38:51,703 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {50205#true} {50205#true} #117#return; {50205#true} is VALID [2022-04-27 11:38:51,703 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:38:51,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:51,782 INFO L290 TraceCheckUtils]: 0: Hoare triple {50205#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {50244#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:51,783 INFO L290 TraceCheckUtils]: 1: Hoare triple {50244#(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; {50245#(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-27 11:38:51,783 INFO L290 TraceCheckUtils]: 2: Hoare triple {50245#(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; {50246#(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-27 11:38:51,784 INFO L290 TraceCheckUtils]: 3: Hoare triple {50246#(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; {50247#(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-27 11:38:51,784 INFO L290 TraceCheckUtils]: 4: Hoare triple {50247#(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; {50248#(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-27 11:38:51,785 INFO L290 TraceCheckUtils]: 5: Hoare triple {50248#(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); {50249#(and (<= (+ (* 3 correct_version_~a) 1) |correct_version_#in~n|) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:51,785 INFO L290 TraceCheckUtils]: 6: Hoare triple {50249#(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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,786 INFO L290 TraceCheckUtils]: 7: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,786 INFO L290 TraceCheckUtils]: 8: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,786 INFO L290 TraceCheckUtils]: 9: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,787 INFO L290 TraceCheckUtils]: 10: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,787 INFO L290 TraceCheckUtils]: 11: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,787 INFO L290 TraceCheckUtils]: 12: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,788 INFO L290 TraceCheckUtils]: 13: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,788 INFO L290 TraceCheckUtils]: 14: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,788 INFO L290 TraceCheckUtils]: 15: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,789 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {50205#true} #111#return; {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} is VALID [2022-04-27 11:38:51,789 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-27 11:38:51,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:51,880 INFO L290 TraceCheckUtils]: 0: Hoare triple {50205#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {50251#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:38:51,880 INFO L290 TraceCheckUtils]: 1: Hoare triple {50251#(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; {50252#(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-27 11:38:51,880 INFO L290 TraceCheckUtils]: 2: Hoare triple {50252#(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; {50253#(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-27 11:38:51,881 INFO L290 TraceCheckUtils]: 3: Hoare triple {50253#(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; {50254#(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-27 11:38:51,881 INFO L290 TraceCheckUtils]: 4: Hoare triple {50254#(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); {50255#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 3 student_version_~a)))} is VALID [2022-04-27 11:38:51,882 INFO L290 TraceCheckUtils]: 5: Hoare triple {50255#(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; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,882 INFO L290 TraceCheckUtils]: 6: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~l~1 < ~m); {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,882 INFO L290 TraceCheckUtils]: 7: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,882 INFO L290 TraceCheckUtils]: 8: Hoare triple {50256#(<= |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; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,882 INFO L290 TraceCheckUtils]: 9: Hoare triple {50256#(<= |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; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,882 INFO L290 TraceCheckUtils]: 10: Hoare triple {50256#(<= |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; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,882 INFO L290 TraceCheckUtils]: 11: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,883 INFO L290 TraceCheckUtils]: 12: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} #res := ~y~1; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,883 INFO L290 TraceCheckUtils]: 13: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume true; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,883 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} #113#return; {50206#false} is VALID [2022-04-27 11:38:51,884 INFO L272 TraceCheckUtils]: 0: Hoare triple {50205#true} call ULTIMATE.init(); {50243#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:38:51,884 INFO L290 TraceCheckUtils]: 1: Hoare triple {50243#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {50205#true} is VALID [2022-04-27 11:38:51,884 INFO L290 TraceCheckUtils]: 2: Hoare triple {50205#true} assume true; {50205#true} is VALID [2022-04-27 11:38:51,884 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50205#true} {50205#true} #117#return; {50205#true} is VALID [2022-04-27 11:38:51,884 INFO L272 TraceCheckUtils]: 4: Hoare triple {50205#true} call #t~ret10 := main(); {50205#true} is VALID [2022-04-27 11:38:51,884 INFO L290 TraceCheckUtils]: 5: Hoare triple {50205#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {50205#true} is VALID [2022-04-27 11:38:51,884 INFO L290 TraceCheckUtils]: 6: Hoare triple {50205#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {50205#true} is VALID [2022-04-27 11:38:51,884 INFO L272 TraceCheckUtils]: 7: Hoare triple {50205#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {50205#true} is VALID [2022-04-27 11:38:51,884 INFO L290 TraceCheckUtils]: 8: Hoare triple {50205#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {50244#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:51,885 INFO L290 TraceCheckUtils]: 9: Hoare triple {50244#(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; {50245#(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-27 11:38:51,885 INFO L290 TraceCheckUtils]: 10: Hoare triple {50245#(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; {50246#(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-27 11:38:51,885 INFO L290 TraceCheckUtils]: 11: Hoare triple {50246#(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; {50247#(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-27 11:38:51,886 INFO L290 TraceCheckUtils]: 12: Hoare triple {50247#(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; {50248#(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-27 11:38:51,886 INFO L290 TraceCheckUtils]: 13: Hoare triple {50248#(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); {50249#(and (<= (+ (* 3 correct_version_~a) 1) |correct_version_#in~n|) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:51,886 INFO L290 TraceCheckUtils]: 14: Hoare triple {50249#(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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,886 INFO L290 TraceCheckUtils]: 15: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,887 INFO L290 TraceCheckUtils]: 16: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,887 INFO L290 TraceCheckUtils]: 17: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,887 INFO L290 TraceCheckUtils]: 18: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,887 INFO L290 TraceCheckUtils]: 19: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,888 INFO L290 TraceCheckUtils]: 20: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,888 INFO L290 TraceCheckUtils]: 21: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,888 INFO L290 TraceCheckUtils]: 22: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,888 INFO L290 TraceCheckUtils]: 23: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:51,889 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {50205#true} #111#return; {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} is VALID [2022-04-27 11:38:51,889 INFO L290 TraceCheckUtils]: 25: Hoare triple {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} is VALID [2022-04-27 11:38:51,889 INFO L272 TraceCheckUtils]: 26: Hoare triple {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {50205#true} is VALID [2022-04-27 11:38:51,889 INFO L290 TraceCheckUtils]: 27: Hoare triple {50205#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {50251#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:38:51,890 INFO L290 TraceCheckUtils]: 28: Hoare triple {50251#(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; {50252#(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-27 11:38:51,890 INFO L290 TraceCheckUtils]: 29: Hoare triple {50252#(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; {50253#(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-27 11:38:51,890 INFO L290 TraceCheckUtils]: 30: Hoare triple {50253#(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; {50254#(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-27 11:38:51,891 INFO L290 TraceCheckUtils]: 31: Hoare triple {50254#(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); {50255#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 3 student_version_~a)))} is VALID [2022-04-27 11:38:51,891 INFO L290 TraceCheckUtils]: 32: Hoare triple {50255#(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; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,891 INFO L290 TraceCheckUtils]: 33: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~l~1 < ~m); {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,891 INFO L290 TraceCheckUtils]: 34: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,891 INFO L290 TraceCheckUtils]: 35: Hoare triple {50256#(<= |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; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,892 INFO L290 TraceCheckUtils]: 36: Hoare triple {50256#(<= |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; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,892 INFO L290 TraceCheckUtils]: 37: Hoare triple {50256#(<= |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; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,892 INFO L290 TraceCheckUtils]: 38: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,892 INFO L290 TraceCheckUtils]: 39: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} #res := ~y~1; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,892 INFO L290 TraceCheckUtils]: 40: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume true; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:51,893 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} #113#return; {50206#false} is VALID [2022-04-27 11:38:51,893 INFO L290 TraceCheckUtils]: 42: Hoare triple {50206#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {50206#false} is VALID [2022-04-27 11:38:51,893 INFO L272 TraceCheckUtils]: 43: Hoare triple {50206#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {50206#false} is VALID [2022-04-27 11:38:51,893 INFO L290 TraceCheckUtils]: 44: Hoare triple {50206#false} ~cond := #in~cond; {50206#false} is VALID [2022-04-27 11:38:51,893 INFO L290 TraceCheckUtils]: 45: Hoare triple {50206#false} assume 0 == ~cond; {50206#false} is VALID [2022-04-27 11:38:51,893 INFO L290 TraceCheckUtils]: 46: Hoare triple {50206#false} assume !false; {50206#false} is VALID [2022-04-27 11:38:51,893 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-27 11:38:51,893 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:38:51,893 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1472770107] [2022-04-27 11:38:51,893 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1472770107] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:38:51,893 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1981376054] [2022-04-27 11:38:51,894 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:38:51,894 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:38:51,894 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:38:51,894 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-27 11:38:51,895 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-27 11:38:51,945 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:38:51,945 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:38:51,946 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-27 11:38:51,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:51,953 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:38:52,436 INFO L272 TraceCheckUtils]: 0: Hoare triple {50205#true} call ULTIMATE.init(); {50205#true} is VALID [2022-04-27 11:38:52,436 INFO L290 TraceCheckUtils]: 1: Hoare triple {50205#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {50205#true} is VALID [2022-04-27 11:38:52,437 INFO L290 TraceCheckUtils]: 2: Hoare triple {50205#true} assume true; {50205#true} is VALID [2022-04-27 11:38:52,437 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50205#true} {50205#true} #117#return; {50205#true} is VALID [2022-04-27 11:38:52,437 INFO L272 TraceCheckUtils]: 4: Hoare triple {50205#true} call #t~ret10 := main(); {50205#true} is VALID [2022-04-27 11:38:52,437 INFO L290 TraceCheckUtils]: 5: Hoare triple {50205#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {50205#true} is VALID [2022-04-27 11:38:52,437 INFO L290 TraceCheckUtils]: 6: Hoare triple {50205#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {50205#true} is VALID [2022-04-27 11:38:52,437 INFO L272 TraceCheckUtils]: 7: Hoare triple {50205#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {50205#true} is VALID [2022-04-27 11:38:52,437 INFO L290 TraceCheckUtils]: 8: Hoare triple {50205#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {50284#(and (<= correct_version_~n |correct_version_#in~n|) (<= 0 correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:38:52,438 INFO L290 TraceCheckUtils]: 9: Hoare triple {50284#(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; {50288#(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-27 11:38:52,438 INFO L290 TraceCheckUtils]: 10: Hoare triple {50288#(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; {50292#(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-27 11:38:52,438 INFO L290 TraceCheckUtils]: 11: Hoare triple {50292#(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; {50296#(and (<= |correct_version_#in~a| (div correct_version_~b~0 3)) (<= correct_version_~n |correct_version_#in~n|))} is VALID [2022-04-27 11:38:52,439 INFO L290 TraceCheckUtils]: 12: Hoare triple {50296#(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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:52,439 INFO L290 TraceCheckUtils]: 13: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:52,439 INFO L290 TraceCheckUtils]: 14: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:52,439 INFO L290 TraceCheckUtils]: 15: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:52,440 INFO L290 TraceCheckUtils]: 16: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:52,440 INFO L290 TraceCheckUtils]: 17: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:52,440 INFO L290 TraceCheckUtils]: 18: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:52,440 INFO L290 TraceCheckUtils]: 19: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:52,441 INFO L290 TraceCheckUtils]: 20: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:52,441 INFO L290 TraceCheckUtils]: 21: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:52,441 INFO L290 TraceCheckUtils]: 22: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:52,441 INFO L290 TraceCheckUtils]: 23: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:52,442 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {50205#true} #111#return; {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} is VALID [2022-04-27 11:38:52,442 INFO L290 TraceCheckUtils]: 25: Hoare triple {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} is VALID [2022-04-27 11:38:52,442 INFO L272 TraceCheckUtils]: 26: Hoare triple {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {50205#true} is VALID [2022-04-27 11:38:52,442 INFO L290 TraceCheckUtils]: 27: Hoare triple {50205#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {50345#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 0) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:38:52,443 INFO L290 TraceCheckUtils]: 28: Hoare triple {50345#(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; {50349#(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-27 11:38:52,443 INFO L290 TraceCheckUtils]: 29: Hoare triple {50349#(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; {50353#(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-27 11:38:52,443 INFO L290 TraceCheckUtils]: 30: Hoare triple {50353#(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; {50357#(and (<= |student_version_#in~n| student_version_~n) (<= (div (- student_version_~b~1) (- 3)) |student_version_#in~a|))} is VALID [2022-04-27 11:38:52,444 INFO L290 TraceCheckUtils]: 31: Hoare triple {50357#(and (<= |student_version_#in~n| student_version_~n) (<= (div (- student_version_~b~1) (- 3)) |student_version_#in~a|))} assume !(~b~1 < ~n); {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:52,444 INFO L290 TraceCheckUtils]: 32: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:52,444 INFO L290 TraceCheckUtils]: 33: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~l~1 < ~m); {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:52,444 INFO L290 TraceCheckUtils]: 34: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:52,444 INFO L290 TraceCheckUtils]: 35: Hoare triple {50256#(<= |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; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:52,445 INFO L290 TraceCheckUtils]: 36: Hoare triple {50256#(<= |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; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:52,445 INFO L290 TraceCheckUtils]: 37: Hoare triple {50256#(<= |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; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:52,445 INFO L290 TraceCheckUtils]: 38: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:52,445 INFO L290 TraceCheckUtils]: 39: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} #res := ~y~1; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:52,445 INFO L290 TraceCheckUtils]: 40: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume true; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:52,446 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} #113#return; {50206#false} is VALID [2022-04-27 11:38:52,446 INFO L290 TraceCheckUtils]: 42: Hoare triple {50206#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {50206#false} is VALID [2022-04-27 11:38:52,446 INFO L272 TraceCheckUtils]: 43: Hoare triple {50206#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {50206#false} is VALID [2022-04-27 11:38:52,446 INFO L290 TraceCheckUtils]: 44: Hoare triple {50206#false} ~cond := #in~cond; {50206#false} is VALID [2022-04-27 11:38:52,446 INFO L290 TraceCheckUtils]: 45: Hoare triple {50206#false} assume 0 == ~cond; {50206#false} is VALID [2022-04-27 11:38:52,447 INFO L290 TraceCheckUtils]: 46: Hoare triple {50206#false} assume !false; {50206#false} is VALID [2022-04-27 11:38:52,447 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-27 11:38:52,447 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:38:53,080 INFO L290 TraceCheckUtils]: 46: Hoare triple {50206#false} assume !false; {50206#false} is VALID [2022-04-27 11:38:53,081 INFO L290 TraceCheckUtils]: 45: Hoare triple {50206#false} assume 0 == ~cond; {50206#false} is VALID [2022-04-27 11:38:53,081 INFO L290 TraceCheckUtils]: 44: Hoare triple {50206#false} ~cond := #in~cond; {50206#false} is VALID [2022-04-27 11:38:53,081 INFO L272 TraceCheckUtils]: 43: Hoare triple {50206#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {50206#false} is VALID [2022-04-27 11:38:53,081 INFO L290 TraceCheckUtils]: 42: Hoare triple {50206#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {50206#false} is VALID [2022-04-27 11:38:53,081 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} #113#return; {50206#false} is VALID [2022-04-27 11:38:53,082 INFO L290 TraceCheckUtils]: 40: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume true; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:53,082 INFO L290 TraceCheckUtils]: 39: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} #res := ~y~1; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:53,082 INFO L290 TraceCheckUtils]: 38: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~x~1 < ~i~1); {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:53,082 INFO L290 TraceCheckUtils]: 37: Hoare triple {50256#(<= |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; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:53,082 INFO L290 TraceCheckUtils]: 36: Hoare triple {50256#(<= |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; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:53,082 INFO L290 TraceCheckUtils]: 35: Hoare triple {50256#(<= |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; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:53,083 INFO L290 TraceCheckUtils]: 34: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} ~x~1 := 0;~y~1 := 0; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:53,083 INFO L290 TraceCheckUtils]: 33: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !(~l~1 < ~m); {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:53,083 INFO L290 TraceCheckUtils]: 32: Hoare triple {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:53,083 INFO L290 TraceCheckUtils]: 31: Hoare triple {50454#(or (< student_version_~b~1 student_version_~n) (<= |student_version_#in~n| (* |student_version_#in~a| 3)))} assume !(~b~1 < ~n); {50256#(<= |student_version_#in~n| (* |student_version_#in~a| 3))} is VALID [2022-04-27 11:38:53,084 INFO L290 TraceCheckUtils]: 30: Hoare triple {50458#(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; {50454#(or (< student_version_~b~1 student_version_~n) (<= |student_version_#in~n| (* |student_version_#in~a| 3)))} is VALID [2022-04-27 11:38:53,084 INFO L290 TraceCheckUtils]: 29: Hoare triple {50462#(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; {50458#(or (< (+ student_version_~b~1 student_version_~a) student_version_~n) (<= |student_version_#in~n| (* |student_version_#in~a| 3)))} is VALID [2022-04-27 11:38:53,084 INFO L290 TraceCheckUtils]: 28: Hoare triple {50466#(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; {50462#(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-27 11:38:53,085 INFO L290 TraceCheckUtils]: 27: Hoare triple {50205#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {50466#(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-27 11:38:53,085 INFO L272 TraceCheckUtils]: 26: Hoare triple {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {50205#true} is VALID [2022-04-27 11:38:53,085 INFO L290 TraceCheckUtils]: 25: Hoare triple {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} is VALID [2022-04-27 11:38:53,085 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {50205#true} #111#return; {50227#(<= (+ (* main_~a~0 3) 1) main_~n~0)} is VALID [2022-04-27 11:38:53,086 INFO L290 TraceCheckUtils]: 23: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:53,086 INFO L290 TraceCheckUtils]: 22: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:53,086 INFO L290 TraceCheckUtils]: 21: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:53,086 INFO L290 TraceCheckUtils]: 20: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:53,086 INFO L290 TraceCheckUtils]: 19: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:53,087 INFO L290 TraceCheckUtils]: 18: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:53,087 INFO L290 TraceCheckUtils]: 17: Hoare triple {50250#(<= (+ (* 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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:53,087 INFO L290 TraceCheckUtils]: 16: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:53,087 INFO L290 TraceCheckUtils]: 15: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:53,088 INFO L290 TraceCheckUtils]: 14: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:53,088 INFO L290 TraceCheckUtils]: 13: Hoare triple {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:53,088 INFO L290 TraceCheckUtils]: 12: Hoare triple {50515#(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; {50250#(<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:38:53,088 INFO L290 TraceCheckUtils]: 11: Hoare triple {50519#(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; {50515#(or (not (< correct_version_~b~0 correct_version_~n)) (<= (+ (* 3 |correct_version_#in~a|) 1) |correct_version_#in~n|))} is VALID [2022-04-27 11:38:53,089 INFO L290 TraceCheckUtils]: 10: Hoare triple {50523#(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; {50519#(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-27 11:38:53,089 INFO L290 TraceCheckUtils]: 9: Hoare triple {50527#(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; {50523#(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-27 11:38:53,090 INFO L290 TraceCheckUtils]: 8: Hoare triple {50205#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {50527#(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-27 11:38:53,090 INFO L272 TraceCheckUtils]: 7: Hoare triple {50205#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {50205#true} is VALID [2022-04-27 11:38:53,090 INFO L290 TraceCheckUtils]: 6: Hoare triple {50205#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {50205#true} is VALID [2022-04-27 11:38:53,090 INFO L290 TraceCheckUtils]: 5: Hoare triple {50205#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {50205#true} is VALID [2022-04-27 11:38:53,090 INFO L272 TraceCheckUtils]: 4: Hoare triple {50205#true} call #t~ret10 := main(); {50205#true} is VALID [2022-04-27 11:38:53,090 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50205#true} {50205#true} #117#return; {50205#true} is VALID [2022-04-27 11:38:53,090 INFO L290 TraceCheckUtils]: 2: Hoare triple {50205#true} assume true; {50205#true} is VALID [2022-04-27 11:38:53,090 INFO L290 TraceCheckUtils]: 1: Hoare triple {50205#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {50205#true} is VALID [2022-04-27 11:38:53,090 INFO L272 TraceCheckUtils]: 0: Hoare triple {50205#true} call ULTIMATE.init(); {50205#true} is VALID [2022-04-27 11:38:53,090 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-27 11:38:53,090 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1981376054] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:38:53,091 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:38:53,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13, 13] total 33 [2022-04-27 11:38:53,091 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2024051302] [2022-04-27 11:38:53,091 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:38:53,091 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 32 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-27 11:38:53,091 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:38:53,091 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 32 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:53,116 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:38:53,117 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-27 11:38:53,117 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:38:53,117 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-27 11:38:53,117 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=945, Unknown=0, NotChecked=0, Total=1056 [2022-04-27 11:38:53,117 INFO L87 Difference]: Start difference. First operand 354 states and 414 transitions. Second operand has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 32 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:56,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:56,215 INFO L93 Difference]: Finished difference Result 368 states and 427 transitions. [2022-04-27 11:38:56,215 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-27 11:38:56,215 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 32 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-27 11:38:56,215 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:38:56,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 32 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:56,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 109 transitions. [2022-04-27 11:38:56,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 32 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:56,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 109 transitions. [2022-04-27 11:38:56,218 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 109 transitions. [2022-04-27 11:38:56,298 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-27 11:38:56,304 INFO L225 Difference]: With dead ends: 368 [2022-04-27 11:38:56,304 INFO L226 Difference]: Without dead ends: 346 [2022-04-27 11:38:56,312 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 76 SyntacticMatches, 6 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 301 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=252, Invalid=2100, Unknown=0, NotChecked=0, Total=2352 [2022-04-27 11:38:56,314 INFO L413 NwaCegarLoop]: 55 mSDtfsCounter, 368 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 1020 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 375 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 1055 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 1020 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 11:38:56,317 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [375 Valid, 122 Invalid, 1055 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 1020 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-27 11:38:56,317 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 346 states. [2022-04-27 11:38:57,601 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 346 to 344. [2022-04-27 11:38:57,601 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:38:57,602 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-27 11:38:57,602 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-27 11:38:57,602 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-27 11:38:57,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:57,607 INFO L93 Difference]: Finished difference Result 346 states and 400 transitions. [2022-04-27 11:38:57,607 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 400 transitions. [2022-04-27 11:38:57,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:57,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:57,608 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-27 11:38:57,608 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-27 11:38:57,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:38:57,613 INFO L93 Difference]: Finished difference Result 346 states and 400 transitions. [2022-04-27 11:38:57,614 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 400 transitions. [2022-04-27 11:38:57,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:38:57,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:38:57,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:38:57,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:38:57,615 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-27 11:38:57,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 344 states to 344 states and 398 transitions. [2022-04-27 11:38:57,621 INFO L78 Accepts]: Start accepts. Automaton has 344 states and 398 transitions. Word has length 47 [2022-04-27 11:38:57,621 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:38:57,621 INFO L495 AbstractCegarLoop]: Abstraction has 344 states and 398 transitions. [2022-04-27 11:38:57,621 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 32 states have internal predecessors, (58), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:38:57,621 INFO L276 IsEmpty]: Start isEmpty. Operand 344 states and 398 transitions. [2022-04-27 11:38:57,622 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-27 11:38:57,622 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:38:57,623 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:38:57,642 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (39)] Ended with exit code 0 [2022-04-27 11:38:57,842 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 39 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable47 [2022-04-27 11:38:57,842 INFO L420 AbstractCegarLoop]: === Iteration 49 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:38:57,842 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:38:57,843 INFO L85 PathProgramCache]: Analyzing trace with hash -448253169, now seen corresponding path program 39 times [2022-04-27 11:38:57,843 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:38:57,843 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [114753525] [2022-04-27 11:38:57,843 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:38:57,843 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:38:57,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:57,873 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:38:57,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:57,889 INFO L290 TraceCheckUtils]: 0: Hoare triple {52318#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {52279#true} is VALID [2022-04-27 11:38:57,889 INFO L290 TraceCheckUtils]: 1: Hoare triple {52279#true} assume true; {52279#true} is VALID [2022-04-27 11:38:57,889 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {52279#true} {52279#true} #117#return; {52279#true} is VALID [2022-04-27 11:38:57,889 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:38:57,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:57,993 INFO L290 TraceCheckUtils]: 0: Hoare triple {52279#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {52319#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:38:57,993 INFO L290 TraceCheckUtils]: 1: Hoare triple {52319#(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; {52319#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:38:57,994 INFO L290 TraceCheckUtils]: 2: Hoare triple {52319#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {52319#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:38:57,994 INFO L290 TraceCheckUtils]: 3: Hoare triple {52319#(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; {52320#(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-27 11:38:57,995 INFO L290 TraceCheckUtils]: 4: Hoare triple {52320#(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; {52321#(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-27 11:38:57,995 INFO L290 TraceCheckUtils]: 5: Hoare triple {52321#(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; {52322#(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-27 11:38:57,996 INFO L290 TraceCheckUtils]: 6: Hoare triple {52322#(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; {52323#(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-27 11:38:57,996 INFO L290 TraceCheckUtils]: 7: Hoare triple {52323#(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; {52324#(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-27 11:38:57,997 INFO L290 TraceCheckUtils]: 8: Hoare triple {52324#(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; {52325#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 |correct_version_#in~a|)))} is VALID [2022-04-27 11:38:57,997 INFO L290 TraceCheckUtils]: 9: Hoare triple {52325#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:57,998 INFO L290 TraceCheckUtils]: 10: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:57,998 INFO L290 TraceCheckUtils]: 11: Hoare triple {52326#(<= |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; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:57,998 INFO L290 TraceCheckUtils]: 12: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:57,999 INFO L290 TraceCheckUtils]: 13: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} #res := ~y~0; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:57,999 INFO L290 TraceCheckUtils]: 14: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume true; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:57,999 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} {52279#true} #111#return; {52300#(<= main_~m~0 (* main_~a~0 6))} is VALID [2022-04-27 11:38:58,000 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-27 11:38:58,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:58,172 INFO L290 TraceCheckUtils]: 0: Hoare triple {52279#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {52327#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:38:58,172 INFO L290 TraceCheckUtils]: 1: Hoare triple {52327#(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; {52327#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:38:58,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {52327#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {52327#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:38:58,173 INFO L290 TraceCheckUtils]: 3: Hoare triple {52327#(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; {52328#(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-27 11:38:58,174 INFO L290 TraceCheckUtils]: 4: Hoare triple {52328#(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; {52329#(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-27 11:38:58,174 INFO L290 TraceCheckUtils]: 5: Hoare triple {52329#(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; {52330#(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-27 11:38:58,175 INFO L290 TraceCheckUtils]: 6: Hoare triple {52330#(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; {52331#(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-27 11:38:58,175 INFO L290 TraceCheckUtils]: 7: Hoare triple {52331#(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; {52332#(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-27 11:38:58,176 INFO L290 TraceCheckUtils]: 8: Hoare triple {52332#(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; {52333#(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-27 11:38:58,176 INFO L290 TraceCheckUtils]: 9: Hoare triple {52333#(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; {52334#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 6) 1) student_version_~m))} is VALID [2022-04-27 11:38:58,177 INFO L290 TraceCheckUtils]: 10: Hoare triple {52334#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 6) 1) student_version_~m))} assume !(~l~1 < ~m); {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:58,177 INFO L290 TraceCheckUtils]: 11: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:58,177 INFO L290 TraceCheckUtils]: 12: Hoare triple {52335#(<= (+ (* |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; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:58,177 INFO L290 TraceCheckUtils]: 13: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:58,178 INFO L290 TraceCheckUtils]: 14: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} #res := ~y~1; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:58,178 INFO L290 TraceCheckUtils]: 15: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume true; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:58,179 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} {52300#(<= main_~m~0 (* main_~a~0 6))} #113#return; {52280#false} is VALID [2022-04-27 11:38:58,179 INFO L272 TraceCheckUtils]: 0: Hoare triple {52279#true} call ULTIMATE.init(); {52318#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:38:58,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {52318#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {52279#true} is VALID [2022-04-27 11:38:58,179 INFO L290 TraceCheckUtils]: 2: Hoare triple {52279#true} assume true; {52279#true} is VALID [2022-04-27 11:38:58,179 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52279#true} {52279#true} #117#return; {52279#true} is VALID [2022-04-27 11:38:58,179 INFO L272 TraceCheckUtils]: 4: Hoare triple {52279#true} call #t~ret10 := main(); {52279#true} is VALID [2022-04-27 11:38:58,179 INFO L290 TraceCheckUtils]: 5: Hoare triple {52279#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {52279#true} is VALID [2022-04-27 11:38:58,180 INFO L290 TraceCheckUtils]: 6: Hoare triple {52279#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {52279#true} is VALID [2022-04-27 11:38:58,180 INFO L272 TraceCheckUtils]: 7: Hoare triple {52279#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {52279#true} is VALID [2022-04-27 11:38:58,180 INFO L290 TraceCheckUtils]: 8: Hoare triple {52279#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {52319#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:38:58,180 INFO L290 TraceCheckUtils]: 9: Hoare triple {52319#(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; {52319#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:38:58,181 INFO L290 TraceCheckUtils]: 10: Hoare triple {52319#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {52319#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:38:58,181 INFO L290 TraceCheckUtils]: 11: Hoare triple {52319#(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; {52320#(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-27 11:38:58,182 INFO L290 TraceCheckUtils]: 12: Hoare triple {52320#(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; {52321#(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-27 11:38:58,182 INFO L290 TraceCheckUtils]: 13: Hoare triple {52321#(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; {52322#(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-27 11:38:58,183 INFO L290 TraceCheckUtils]: 14: Hoare triple {52322#(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; {52323#(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-27 11:38:58,183 INFO L290 TraceCheckUtils]: 15: Hoare triple {52323#(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; {52324#(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-27 11:38:58,184 INFO L290 TraceCheckUtils]: 16: Hoare triple {52324#(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; {52325#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 |correct_version_#in~a|)))} is VALID [2022-04-27 11:38:58,184 INFO L290 TraceCheckUtils]: 17: Hoare triple {52325#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 6 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:58,184 INFO L290 TraceCheckUtils]: 18: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:58,185 INFO L290 TraceCheckUtils]: 19: Hoare triple {52326#(<= |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; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:58,185 INFO L290 TraceCheckUtils]: 20: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:58,185 INFO L290 TraceCheckUtils]: 21: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} #res := ~y~0; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:58,186 INFO L290 TraceCheckUtils]: 22: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume true; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:58,186 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} {52279#true} #111#return; {52300#(<= main_~m~0 (* main_~a~0 6))} is VALID [2022-04-27 11:38:58,187 INFO L290 TraceCheckUtils]: 24: Hoare triple {52300#(<= main_~m~0 (* main_~a~0 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {52300#(<= main_~m~0 (* main_~a~0 6))} is VALID [2022-04-27 11:38:58,187 INFO L272 TraceCheckUtils]: 25: Hoare triple {52300#(<= main_~m~0 (* main_~a~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {52279#true} is VALID [2022-04-27 11:38:58,187 INFO L290 TraceCheckUtils]: 26: Hoare triple {52279#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {52327#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:38:58,187 INFO L290 TraceCheckUtils]: 27: Hoare triple {52327#(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; {52327#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:38:58,188 INFO L290 TraceCheckUtils]: 28: Hoare triple {52327#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {52327#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:38:58,188 INFO L290 TraceCheckUtils]: 29: Hoare triple {52327#(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; {52328#(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-27 11:38:58,189 INFO L290 TraceCheckUtils]: 30: Hoare triple {52328#(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; {52329#(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-27 11:38:58,189 INFO L290 TraceCheckUtils]: 31: Hoare triple {52329#(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; {52330#(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-27 11:38:58,190 INFO L290 TraceCheckUtils]: 32: Hoare triple {52330#(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; {52331#(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-27 11:38:58,190 INFO L290 TraceCheckUtils]: 33: Hoare triple {52331#(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; {52332#(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-27 11:38:58,191 INFO L290 TraceCheckUtils]: 34: Hoare triple {52332#(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; {52333#(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-27 11:38:58,191 INFO L290 TraceCheckUtils]: 35: Hoare triple {52333#(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; {52334#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 6) 1) student_version_~m))} is VALID [2022-04-27 11:38:58,192 INFO L290 TraceCheckUtils]: 36: Hoare triple {52334#(and (= |student_version_#in~m| student_version_~m) (<= (+ (* |student_version_#in~a| 6) 1) student_version_~m))} assume !(~l~1 < ~m); {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:58,192 INFO L290 TraceCheckUtils]: 37: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:58,192 INFO L290 TraceCheckUtils]: 38: Hoare triple {52335#(<= (+ (* |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; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:58,192 INFO L290 TraceCheckUtils]: 39: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:58,193 INFO L290 TraceCheckUtils]: 40: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} #res := ~y~1; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:58,193 INFO L290 TraceCheckUtils]: 41: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume true; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:58,194 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} {52300#(<= main_~m~0 (* main_~a~0 6))} #113#return; {52280#false} is VALID [2022-04-27 11:38:58,194 INFO L290 TraceCheckUtils]: 43: Hoare triple {52280#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {52280#false} is VALID [2022-04-27 11:38:58,194 INFO L272 TraceCheckUtils]: 44: Hoare triple {52280#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {52280#false} is VALID [2022-04-27 11:38:58,194 INFO L290 TraceCheckUtils]: 45: Hoare triple {52280#false} ~cond := #in~cond; {52280#false} is VALID [2022-04-27 11:38:58,194 INFO L290 TraceCheckUtils]: 46: Hoare triple {52280#false} assume 0 == ~cond; {52280#false} is VALID [2022-04-27 11:38:58,194 INFO L290 TraceCheckUtils]: 47: Hoare triple {52280#false} assume !false; {52280#false} is VALID [2022-04-27 11:38:58,194 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-27 11:38:58,194 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:38:58,194 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [114753525] [2022-04-27 11:38:58,194 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [114753525] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:38:58,194 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [994888705] [2022-04-27 11:38:58,194 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:38:58,195 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:38:58,195 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:38:58,195 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-27 11:38:58,196 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-27 11:38:58,279 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2022-04-27 11:38:58,279 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:38:58,280 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-27 11:38:58,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:38:58,294 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:38:59,205 INFO L272 TraceCheckUtils]: 0: Hoare triple {52279#true} call ULTIMATE.init(); {52279#true} is VALID [2022-04-27 11:38:59,205 INFO L290 TraceCheckUtils]: 1: Hoare triple {52279#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {52279#true} is VALID [2022-04-27 11:38:59,205 INFO L290 TraceCheckUtils]: 2: Hoare triple {52279#true} assume true; {52279#true} is VALID [2022-04-27 11:38:59,205 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52279#true} {52279#true} #117#return; {52279#true} is VALID [2022-04-27 11:38:59,205 INFO L272 TraceCheckUtils]: 4: Hoare triple {52279#true} call #t~ret10 := main(); {52279#true} is VALID [2022-04-27 11:38:59,205 INFO L290 TraceCheckUtils]: 5: Hoare triple {52279#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {52279#true} is VALID [2022-04-27 11:38:59,205 INFO L290 TraceCheckUtils]: 6: Hoare triple {52279#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {52279#true} is VALID [2022-04-27 11:38:59,205 INFO L272 TraceCheckUtils]: 7: Hoare triple {52279#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {52279#true} is VALID [2022-04-27 11:38:59,206 INFO L290 TraceCheckUtils]: 8: Hoare triple {52279#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {52363#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:38:59,206 INFO L290 TraceCheckUtils]: 9: Hoare triple {52363#(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; {52363#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:38:59,206 INFO L290 TraceCheckUtils]: 10: Hoare triple {52363#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {52363#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:38:59,207 INFO L290 TraceCheckUtils]: 11: Hoare triple {52363#(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; {52373#(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-27 11:38:59,207 INFO L290 TraceCheckUtils]: 12: Hoare triple {52373#(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; {52377#(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-27 11:38:59,207 INFO L290 TraceCheckUtils]: 13: Hoare triple {52377#(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; {52381#(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-27 11:38:59,208 INFO L290 TraceCheckUtils]: 14: Hoare triple {52381#(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; {52385#(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-27 11:38:59,208 INFO L290 TraceCheckUtils]: 15: Hoare triple {52385#(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; {52389#(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-27 11:38:59,209 INFO L290 TraceCheckUtils]: 16: Hoare triple {52389#(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; {52393#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 6)) |correct_version_#in~a|))} is VALID [2022-04-27 11:38:59,209 INFO L290 TraceCheckUtils]: 17: Hoare triple {52393#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 6)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:59,209 INFO L290 TraceCheckUtils]: 18: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:59,209 INFO L290 TraceCheckUtils]: 19: Hoare triple {52326#(<= |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; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:59,210 INFO L290 TraceCheckUtils]: 20: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:59,210 INFO L290 TraceCheckUtils]: 21: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} #res := ~y~0; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:59,210 INFO L290 TraceCheckUtils]: 22: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume true; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:38:59,210 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} {52279#true} #111#return; {52300#(<= main_~m~0 (* main_~a~0 6))} is VALID [2022-04-27 11:38:59,211 INFO L290 TraceCheckUtils]: 24: Hoare triple {52300#(<= main_~m~0 (* main_~a~0 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {52300#(<= main_~m~0 (* main_~a~0 6))} is VALID [2022-04-27 11:38:59,211 INFO L272 TraceCheckUtils]: 25: Hoare triple {52300#(<= main_~m~0 (* main_~a~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {52279#true} is VALID [2022-04-27 11:38:59,211 INFO L290 TraceCheckUtils]: 26: Hoare triple {52279#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {52424#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:38:59,211 INFO L290 TraceCheckUtils]: 27: Hoare triple {52424#(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; {52424#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:38:59,212 INFO L290 TraceCheckUtils]: 28: Hoare triple {52424#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {52424#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:38:59,212 INFO L290 TraceCheckUtils]: 29: Hoare triple {52424#(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; {52434#(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-27 11:38:59,212 INFO L290 TraceCheckUtils]: 30: Hoare triple {52434#(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; {52438#(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-27 11:38:59,213 INFO L290 TraceCheckUtils]: 31: Hoare triple {52438#(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; {52442#(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-27 11:38:59,213 INFO L290 TraceCheckUtils]: 32: Hoare triple {52442#(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; {52446#(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-27 11:38:59,214 INFO L290 TraceCheckUtils]: 33: Hoare triple {52446#(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; {52450#(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-27 11:38:59,214 INFO L290 TraceCheckUtils]: 34: Hoare triple {52450#(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; {52454#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 6)))} is VALID [2022-04-27 11:38:59,214 INFO L290 TraceCheckUtils]: 35: Hoare triple {52454#(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; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:59,215 INFO L290 TraceCheckUtils]: 36: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:59,215 INFO L290 TraceCheckUtils]: 37: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:59,215 INFO L290 TraceCheckUtils]: 38: Hoare triple {52335#(<= (+ (* |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; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:59,215 INFO L290 TraceCheckUtils]: 39: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:59,215 INFO L290 TraceCheckUtils]: 40: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} #res := ~y~1; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:59,215 INFO L290 TraceCheckUtils]: 41: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume true; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:38:59,216 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} {52300#(<= main_~m~0 (* main_~a~0 6))} #113#return; {52280#false} is VALID [2022-04-27 11:38:59,216 INFO L290 TraceCheckUtils]: 43: Hoare triple {52280#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {52280#false} is VALID [2022-04-27 11:38:59,216 INFO L272 TraceCheckUtils]: 44: Hoare triple {52280#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {52280#false} is VALID [2022-04-27 11:38:59,216 INFO L290 TraceCheckUtils]: 45: Hoare triple {52280#false} ~cond := #in~cond; {52280#false} is VALID [2022-04-27 11:38:59,216 INFO L290 TraceCheckUtils]: 46: Hoare triple {52280#false} assume 0 == ~cond; {52280#false} is VALID [2022-04-27 11:38:59,216 INFO L290 TraceCheckUtils]: 47: Hoare triple {52280#false} assume !false; {52280#false} is VALID [2022-04-27 11:38:59,216 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-27 11:38:59,216 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:39:00,614 INFO L290 TraceCheckUtils]: 47: Hoare triple {52280#false} assume !false; {52280#false} is VALID [2022-04-27 11:39:00,614 INFO L290 TraceCheckUtils]: 46: Hoare triple {52280#false} assume 0 == ~cond; {52280#false} is VALID [2022-04-27 11:39:00,614 INFO L290 TraceCheckUtils]: 45: Hoare triple {52280#false} ~cond := #in~cond; {52280#false} is VALID [2022-04-27 11:39:00,614 INFO L272 TraceCheckUtils]: 44: Hoare triple {52280#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {52280#false} is VALID [2022-04-27 11:39:00,614 INFO L290 TraceCheckUtils]: 43: Hoare triple {52280#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {52280#false} is VALID [2022-04-27 11:39:00,615 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} {52300#(<= main_~m~0 (* main_~a~0 6))} #113#return; {52280#false} is VALID [2022-04-27 11:39:00,615 INFO L290 TraceCheckUtils]: 41: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume true; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:39:00,615 INFO L290 TraceCheckUtils]: 40: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} #res := ~y~1; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:39:00,616 INFO L290 TraceCheckUtils]: 39: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:39:00,616 INFO L290 TraceCheckUtils]: 38: Hoare triple {52335#(<= (+ (* |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; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:39:00,616 INFO L290 TraceCheckUtils]: 37: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:39:00,616 INFO L290 TraceCheckUtils]: 36: Hoare triple {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:39:00,617 INFO L290 TraceCheckUtils]: 35: Hoare triple {52533#(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; {52335#(<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:39:00,617 INFO L290 TraceCheckUtils]: 34: Hoare triple {52537#(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; {52533#(or (<= (+ (* |student_version_#in~a| 6) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-27 11:39:00,618 INFO L290 TraceCheckUtils]: 33: Hoare triple {52541#(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; {52537#(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-27 11:39:00,618 INFO L290 TraceCheckUtils]: 32: Hoare triple {52545#(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; {52541#(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-27 11:39:00,619 INFO L290 TraceCheckUtils]: 31: Hoare triple {52549#(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; {52545#(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-27 11:39:00,619 INFO L290 TraceCheckUtils]: 30: Hoare triple {52553#(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; {52549#(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-27 11:39:00,620 INFO L290 TraceCheckUtils]: 29: Hoare triple {52557#(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; {52553#(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-27 11:39:00,620 INFO L290 TraceCheckUtils]: 28: Hoare triple {52557#(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); {52557#(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-27 11:39:00,620 INFO L290 TraceCheckUtils]: 27: Hoare triple {52557#(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; {52557#(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-27 11:39:00,621 INFO L290 TraceCheckUtils]: 26: Hoare triple {52279#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {52557#(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-27 11:39:00,621 INFO L272 TraceCheckUtils]: 25: Hoare triple {52300#(<= main_~m~0 (* main_~a~0 6))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {52279#true} is VALID [2022-04-27 11:39:00,621 INFO L290 TraceCheckUtils]: 24: Hoare triple {52300#(<= main_~m~0 (* main_~a~0 6))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {52300#(<= main_~m~0 (* main_~a~0 6))} is VALID [2022-04-27 11:39:00,622 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} {52279#true} #111#return; {52300#(<= main_~m~0 (* main_~a~0 6))} is VALID [2022-04-27 11:39:00,622 INFO L290 TraceCheckUtils]: 22: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume true; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:39:00,622 INFO L290 TraceCheckUtils]: 21: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} #res := ~y~0; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:39:00,623 INFO L290 TraceCheckUtils]: 20: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:39:00,623 INFO L290 TraceCheckUtils]: 19: Hoare triple {52326#(<= |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; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:39:00,623 INFO L290 TraceCheckUtils]: 18: Hoare triple {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:39:00,624 INFO L290 TraceCheckUtils]: 17: Hoare triple {52594#(or (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} assume !(~l~0 < ~m); {52326#(<= |correct_version_#in~m| (* 6 |correct_version_#in~a|))} is VALID [2022-04-27 11:39:00,624 INFO L290 TraceCheckUtils]: 16: Hoare triple {52598#(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; {52594#(or (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} is VALID [2022-04-27 11:39:00,625 INFO L290 TraceCheckUtils]: 15: Hoare triple {52602#(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; {52598#(or (<= |correct_version_#in~m| (* 6 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-27 11:39:00,625 INFO L290 TraceCheckUtils]: 14: Hoare triple {52606#(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; {52602#(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-27 11:39:00,626 INFO L290 TraceCheckUtils]: 13: Hoare triple {52610#(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; {52606#(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-27 11:39:00,626 INFO L290 TraceCheckUtils]: 12: Hoare triple {52614#(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; {52610#(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-27 11:39:00,628 INFO L290 TraceCheckUtils]: 11: Hoare triple {52618#(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; {52614#(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-27 11:39:00,628 INFO L290 TraceCheckUtils]: 10: Hoare triple {52618#(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); {52618#(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-27 11:39:00,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {52618#(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; {52618#(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-27 11:39:00,629 INFO L290 TraceCheckUtils]: 8: Hoare triple {52279#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {52618#(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-27 11:39:00,629 INFO L272 TraceCheckUtils]: 7: Hoare triple {52279#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {52279#true} is VALID [2022-04-27 11:39:00,629 INFO L290 TraceCheckUtils]: 6: Hoare triple {52279#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {52279#true} is VALID [2022-04-27 11:39:00,629 INFO L290 TraceCheckUtils]: 5: Hoare triple {52279#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {52279#true} is VALID [2022-04-27 11:39:00,629 INFO L272 TraceCheckUtils]: 4: Hoare triple {52279#true} call #t~ret10 := main(); {52279#true} is VALID [2022-04-27 11:39:00,629 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52279#true} {52279#true} #117#return; {52279#true} is VALID [2022-04-27 11:39:00,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {52279#true} assume true; {52279#true} is VALID [2022-04-27 11:39:00,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {52279#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {52279#true} is VALID [2022-04-27 11:39:00,629 INFO L272 TraceCheckUtils]: 0: Hoare triple {52279#true} call ULTIMATE.init(); {52279#true} is VALID [2022-04-27 11:39:00,629 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-27 11:39:00,629 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [994888705] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:39:00,630 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:39:00,630 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 19, 19] total 49 [2022-04-27 11:39:00,630 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [636859828] [2022-04-27 11:39:00,630 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:39:00,630 INFO L78 Accepts]: Start accepts. Automaton has has 49 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 48 [2022-04-27 11:39:00,630 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:39:00,630 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 49 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:39:00,686 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-27 11:39:00,686 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 49 states [2022-04-27 11:39:00,686 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:39:00,687 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 49 interpolants. [2022-04-27 11:39:00,687 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=159, Invalid=2193, Unknown=0, NotChecked=0, Total=2352 [2022-04-27 11:39:00,687 INFO L87 Difference]: Start difference. First operand 344 states and 398 transitions. Second operand has 49 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:39:06,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:06,488 INFO L93 Difference]: Finished difference Result 410 states and 477 transitions. [2022-04-27 11:39:06,489 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-04-27 11:39:06,489 INFO L78 Accepts]: Start accepts. Automaton has has 49 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 48 [2022-04-27 11:39:06,489 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:39:06,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:39:06,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 146 transitions. [2022-04-27 11:39:06,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:39:06,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 146 transitions. [2022-04-27 11:39:06,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 146 transitions. [2022-04-27 11:39:06,612 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-27 11:39:06,621 INFO L225 Difference]: With dead ends: 410 [2022-04-27 11:39:06,621 INFO L226 Difference]: Without dead ends: 396 [2022-04-27 11:39:06,623 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 75 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 793 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=458, Invalid=5394, Unknown=0, NotChecked=0, Total=5852 [2022-04-27 11:39:06,623 INFO L413 NwaCegarLoop]: 84 mSDtfsCounter, 691 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 2507 mSolverCounterSat, 81 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 696 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 2588 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 81 IncrementalHoareTripleChecker+Valid, 2507 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-27 11:39:06,623 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [696 Valid, 181 Invalid, 2588 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [81 Valid, 2507 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-27 11:39:06,623 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 396 states. [2022-04-27 11:39:08,327 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 396 to 387. [2022-04-27 11:39:08,328 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:39:08,328 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-27 11:39:08,328 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-27 11:39:08,329 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-27 11:39:08,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:08,335 INFO L93 Difference]: Finished difference Result 396 states and 459 transitions. [2022-04-27 11:39:08,335 INFO L276 IsEmpty]: Start isEmpty. Operand 396 states and 459 transitions. [2022-04-27 11:39:08,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:39:08,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:39:08,337 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-27 11:39:08,337 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-27 11:39:08,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:08,344 INFO L93 Difference]: Finished difference Result 396 states and 459 transitions. [2022-04-27 11:39:08,344 INFO L276 IsEmpty]: Start isEmpty. Operand 396 states and 459 transitions. [2022-04-27 11:39:08,345 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:39:08,345 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:39:08,345 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:39:08,345 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:39:08,346 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-27 11:39:08,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 387 states to 387 states and 449 transitions. [2022-04-27 11:39:08,353 INFO L78 Accepts]: Start accepts. Automaton has 387 states and 449 transitions. Word has length 48 [2022-04-27 11:39:08,353 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:39:08,353 INFO L495 AbstractCegarLoop]: Abstraction has 387 states and 449 transitions. [2022-04-27 11:39:08,353 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 49 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:39:08,354 INFO L276 IsEmpty]: Start isEmpty. Operand 387 states and 449 transitions. [2022-04-27 11:39:08,355 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-27 11:39:08,355 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:39:08,355 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:39:08,377 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-27 11:39:08,575 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 40 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable48 [2022-04-27 11:39:08,576 INFO L420 AbstractCegarLoop]: === Iteration 50 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:39:08,577 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:39:08,577 INFO L85 PathProgramCache]: Analyzing trace with hash 827987660, now seen corresponding path program 40 times [2022-04-27 11:39:08,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:39:08,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1225502353] [2022-04-27 11:39:08,577 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:39:08,577 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:39:08,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:08,635 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:39:08,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:08,637 INFO L290 TraceCheckUtils]: 0: Hoare triple {54661#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {54622#true} is VALID [2022-04-27 11:39:08,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {54622#true} assume true; {54622#true} is VALID [2022-04-27 11:39:08,637 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {54622#true} {54622#true} #117#return; {54622#true} is VALID [2022-04-27 11:39:08,637 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:39:08,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:08,767 INFO L290 TraceCheckUtils]: 0: Hoare triple {54622#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {54662#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:39:08,768 INFO L290 TraceCheckUtils]: 1: Hoare triple {54662#(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; {54662#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:39:08,768 INFO L290 TraceCheckUtils]: 2: Hoare triple {54662#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {54662#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:39:08,769 INFO L290 TraceCheckUtils]: 3: Hoare triple {54662#(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; {54663#(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-27 11:39:08,769 INFO L290 TraceCheckUtils]: 4: Hoare triple {54663#(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; {54664#(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-27 11:39:08,770 INFO L290 TraceCheckUtils]: 5: Hoare triple {54664#(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; {54665#(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-27 11:39:08,770 INFO L290 TraceCheckUtils]: 6: Hoare triple {54665#(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; {54666#(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-27 11:39:08,771 INFO L290 TraceCheckUtils]: 7: Hoare triple {54666#(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; {54667#(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-27 11:39:08,771 INFO L290 TraceCheckUtils]: 8: Hoare triple {54667#(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; {54668#(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-27 11:39:08,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {54668#(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; {54669#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 6 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-27 11:39:08,772 INFO L290 TraceCheckUtils]: 10: Hoare triple {54669#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 6 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:08,773 INFO L290 TraceCheckUtils]: 11: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:08,773 INFO L290 TraceCheckUtils]: 12: Hoare triple {54670#(<= (+ (* 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; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:08,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:08,774 INFO L290 TraceCheckUtils]: 14: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:08,774 INFO L290 TraceCheckUtils]: 15: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:08,775 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {54622#true} #111#return; {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} is VALID [2022-04-27 11:39:08,775 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-27 11:39:08,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:08,928 INFO L290 TraceCheckUtils]: 0: Hoare triple {54622#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {54671#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:39:08,928 INFO L290 TraceCheckUtils]: 1: Hoare triple {54671#(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; {54671#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:39:08,929 INFO L290 TraceCheckUtils]: 2: Hoare triple {54671#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {54671#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:39:08,929 INFO L290 TraceCheckUtils]: 3: Hoare triple {54671#(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; {54672#(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-27 11:39:08,930 INFO L290 TraceCheckUtils]: 4: Hoare triple {54672#(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; {54673#(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-27 11:39:08,930 INFO L290 TraceCheckUtils]: 5: Hoare triple {54673#(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; {54674#(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-27 11:39:08,931 INFO L290 TraceCheckUtils]: 6: Hoare triple {54674#(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; {54675#(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-27 11:39:08,931 INFO L290 TraceCheckUtils]: 7: Hoare triple {54675#(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; {54676#(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-27 11:39:08,932 INFO L290 TraceCheckUtils]: 8: Hoare triple {54676#(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; {54677#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 6)))} is VALID [2022-04-27 11:39:08,932 INFO L290 TraceCheckUtils]: 9: Hoare triple {54677#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 6)))} assume !(~l~1 < ~m); {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:08,932 INFO L290 TraceCheckUtils]: 10: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} ~x~1 := 0;~y~1 := 0; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:08,933 INFO L290 TraceCheckUtils]: 11: Hoare triple {54678#(<= |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; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:08,933 INFO L290 TraceCheckUtils]: 12: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume !(~x~1 < ~i~1); {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:08,933 INFO L290 TraceCheckUtils]: 13: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} #res := ~y~1; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:08,934 INFO L290 TraceCheckUtils]: 14: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume true; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:08,934 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} #113#return; {54623#false} is VALID [2022-04-27 11:39:08,935 INFO L272 TraceCheckUtils]: 0: Hoare triple {54622#true} call ULTIMATE.init(); {54661#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:39:08,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {54661#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {54622#true} is VALID [2022-04-27 11:39:08,935 INFO L290 TraceCheckUtils]: 2: Hoare triple {54622#true} assume true; {54622#true} is VALID [2022-04-27 11:39:08,935 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {54622#true} {54622#true} #117#return; {54622#true} is VALID [2022-04-27 11:39:08,935 INFO L272 TraceCheckUtils]: 4: Hoare triple {54622#true} call #t~ret10 := main(); {54622#true} is VALID [2022-04-27 11:39:08,935 INFO L290 TraceCheckUtils]: 5: Hoare triple {54622#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {54622#true} is VALID [2022-04-27 11:39:08,935 INFO L290 TraceCheckUtils]: 6: Hoare triple {54622#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {54622#true} is VALID [2022-04-27 11:39:08,935 INFO L272 TraceCheckUtils]: 7: Hoare triple {54622#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {54622#true} is VALID [2022-04-27 11:39:08,936 INFO L290 TraceCheckUtils]: 8: Hoare triple {54622#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {54662#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:39:08,936 INFO L290 TraceCheckUtils]: 9: Hoare triple {54662#(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; {54662#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:39:08,936 INFO L290 TraceCheckUtils]: 10: Hoare triple {54662#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {54662#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:39:08,937 INFO L290 TraceCheckUtils]: 11: Hoare triple {54662#(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; {54663#(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-27 11:39:08,937 INFO L290 TraceCheckUtils]: 12: Hoare triple {54663#(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; {54664#(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-27 11:39:08,938 INFO L290 TraceCheckUtils]: 13: Hoare triple {54664#(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; {54665#(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-27 11:39:08,938 INFO L290 TraceCheckUtils]: 14: Hoare triple {54665#(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; {54666#(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-27 11:39:08,939 INFO L290 TraceCheckUtils]: 15: Hoare triple {54666#(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; {54667#(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-27 11:39:08,939 INFO L290 TraceCheckUtils]: 16: Hoare triple {54667#(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; {54668#(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-27 11:39:08,940 INFO L290 TraceCheckUtils]: 17: Hoare triple {54668#(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; {54669#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 6 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-27 11:39:08,940 INFO L290 TraceCheckUtils]: 18: Hoare triple {54669#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 6 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:08,940 INFO L290 TraceCheckUtils]: 19: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:08,941 INFO L290 TraceCheckUtils]: 20: Hoare triple {54670#(<= (+ (* 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; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:08,941 INFO L290 TraceCheckUtils]: 21: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:08,941 INFO L290 TraceCheckUtils]: 22: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:08,942 INFO L290 TraceCheckUtils]: 23: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:08,942 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {54622#true} #111#return; {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} is VALID [2022-04-27 11:39:08,943 INFO L290 TraceCheckUtils]: 25: Hoare triple {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} is VALID [2022-04-27 11:39:08,943 INFO L272 TraceCheckUtils]: 26: Hoare triple {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {54622#true} is VALID [2022-04-27 11:39:08,943 INFO L290 TraceCheckUtils]: 27: Hoare triple {54622#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {54671#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:39:08,944 INFO L290 TraceCheckUtils]: 28: Hoare triple {54671#(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; {54671#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:39:08,944 INFO L290 TraceCheckUtils]: 29: Hoare triple {54671#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {54671#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:39:08,944 INFO L290 TraceCheckUtils]: 30: Hoare triple {54671#(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; {54672#(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-27 11:39:08,945 INFO L290 TraceCheckUtils]: 31: Hoare triple {54672#(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; {54673#(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-27 11:39:08,945 INFO L290 TraceCheckUtils]: 32: Hoare triple {54673#(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; {54674#(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-27 11:39:08,946 INFO L290 TraceCheckUtils]: 33: Hoare triple {54674#(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; {54675#(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-27 11:39:08,946 INFO L290 TraceCheckUtils]: 34: Hoare triple {54675#(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; {54676#(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-27 11:39:08,947 INFO L290 TraceCheckUtils]: 35: Hoare triple {54676#(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; {54677#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 6)))} is VALID [2022-04-27 11:39:08,947 INFO L290 TraceCheckUtils]: 36: Hoare triple {54677#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 6)))} assume !(~l~1 < ~m); {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:08,948 INFO L290 TraceCheckUtils]: 37: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} ~x~1 := 0;~y~1 := 0; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:08,948 INFO L290 TraceCheckUtils]: 38: Hoare triple {54678#(<= |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; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:08,948 INFO L290 TraceCheckUtils]: 39: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume !(~x~1 < ~i~1); {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:08,948 INFO L290 TraceCheckUtils]: 40: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} #res := ~y~1; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:08,949 INFO L290 TraceCheckUtils]: 41: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume true; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:08,949 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} #113#return; {54623#false} is VALID [2022-04-27 11:39:08,949 INFO L290 TraceCheckUtils]: 43: Hoare triple {54623#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {54623#false} is VALID [2022-04-27 11:39:08,949 INFO L272 TraceCheckUtils]: 44: Hoare triple {54623#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {54623#false} is VALID [2022-04-27 11:39:08,949 INFO L290 TraceCheckUtils]: 45: Hoare triple {54623#false} ~cond := #in~cond; {54623#false} is VALID [2022-04-27 11:39:08,950 INFO L290 TraceCheckUtils]: 46: Hoare triple {54623#false} assume 0 == ~cond; {54623#false} is VALID [2022-04-27 11:39:08,950 INFO L290 TraceCheckUtils]: 47: Hoare triple {54623#false} assume !false; {54623#false} is VALID [2022-04-27 11:39:08,950 INFO L134 CoverageAnalysis]: Checked inductivity of 53 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:39:08,950 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:39:08,950 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1225502353] [2022-04-27 11:39:08,950 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1225502353] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:39:08,950 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1585409571] [2022-04-27 11:39:08,950 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 11:39:08,950 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:39:08,950 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:39:08,951 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-27 11:39:08,952 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-27 11:39:09,014 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 11:39:09,014 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:39:09,015 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-27 11:39:09,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:09,027 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:39:10,045 INFO L272 TraceCheckUtils]: 0: Hoare triple {54622#true} call ULTIMATE.init(); {54622#true} is VALID [2022-04-27 11:39:10,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {54622#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {54622#true} is VALID [2022-04-27 11:39:10,045 INFO L290 TraceCheckUtils]: 2: Hoare triple {54622#true} assume true; {54622#true} is VALID [2022-04-27 11:39:10,046 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {54622#true} {54622#true} #117#return; {54622#true} is VALID [2022-04-27 11:39:10,046 INFO L272 TraceCheckUtils]: 4: Hoare triple {54622#true} call #t~ret10 := main(); {54622#true} is VALID [2022-04-27 11:39:10,046 INFO L290 TraceCheckUtils]: 5: Hoare triple {54622#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {54622#true} is VALID [2022-04-27 11:39:10,046 INFO L290 TraceCheckUtils]: 6: Hoare triple {54622#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {54622#true} is VALID [2022-04-27 11:39:10,046 INFO L272 TraceCheckUtils]: 7: Hoare triple {54622#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {54622#true} is VALID [2022-04-27 11:39:10,046 INFO L290 TraceCheckUtils]: 8: Hoare triple {54622#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {54706#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:39:10,047 INFO L290 TraceCheckUtils]: 9: Hoare triple {54706#(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; {54706#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:39:10,047 INFO L290 TraceCheckUtils]: 10: Hoare triple {54706#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {54706#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:39:10,047 INFO L290 TraceCheckUtils]: 11: Hoare triple {54706#(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; {54716#(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-27 11:39:10,048 INFO L290 TraceCheckUtils]: 12: Hoare triple {54716#(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; {54720#(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-27 11:39:10,048 INFO L290 TraceCheckUtils]: 13: Hoare triple {54720#(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; {54724#(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-27 11:39:10,049 INFO L290 TraceCheckUtils]: 14: Hoare triple {54724#(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; {54728#(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-27 11:39:10,050 INFO L290 TraceCheckUtils]: 15: Hoare triple {54728#(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; {54732#(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-27 11:39:10,050 INFO L290 TraceCheckUtils]: 16: Hoare triple {54732#(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; {54736#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 6)))} is VALID [2022-04-27 11:39:10,051 INFO L290 TraceCheckUtils]: 17: Hoare triple {54736#(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; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:10,051 INFO L290 TraceCheckUtils]: 18: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:10,051 INFO L290 TraceCheckUtils]: 19: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:10,052 INFO L290 TraceCheckUtils]: 20: Hoare triple {54670#(<= (+ (* 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; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:10,052 INFO L290 TraceCheckUtils]: 21: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:10,052 INFO L290 TraceCheckUtils]: 22: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:10,053 INFO L290 TraceCheckUtils]: 23: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:10,053 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {54622#true} #111#return; {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} is VALID [2022-04-27 11:39:10,054 INFO L290 TraceCheckUtils]: 25: Hoare triple {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} is VALID [2022-04-27 11:39:10,054 INFO L272 TraceCheckUtils]: 26: Hoare triple {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {54622#true} is VALID [2022-04-27 11:39:10,054 INFO L290 TraceCheckUtils]: 27: Hoare triple {54622#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {54770#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:39:10,055 INFO L290 TraceCheckUtils]: 28: Hoare triple {54770#(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; {54770#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:39:10,055 INFO L290 TraceCheckUtils]: 29: Hoare triple {54770#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {54770#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:39:10,056 INFO L290 TraceCheckUtils]: 30: Hoare triple {54770#(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; {54780#(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-27 11:39:10,056 INFO L290 TraceCheckUtils]: 31: Hoare triple {54780#(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; {54784#(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-27 11:39:10,057 INFO L290 TraceCheckUtils]: 32: Hoare triple {54784#(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; {54788#(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-27 11:39:10,057 INFO L290 TraceCheckUtils]: 33: Hoare triple {54788#(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; {54792#(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-27 11:39:10,058 INFO L290 TraceCheckUtils]: 34: Hoare triple {54792#(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; {54796#(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-27 11:39:10,058 INFO L290 TraceCheckUtils]: 35: Hoare triple {54796#(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; {54800#(and (<= (div (- student_version_~l~1) (- 6)) |student_version_#in~a|) (<= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:39:10,059 INFO L290 TraceCheckUtils]: 36: Hoare triple {54800#(and (<= (div (- student_version_~l~1) (- 6)) |student_version_#in~a|) (<= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:10,059 INFO L290 TraceCheckUtils]: 37: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} ~x~1 := 0;~y~1 := 0; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:10,059 INFO L290 TraceCheckUtils]: 38: Hoare triple {54678#(<= |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; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:10,060 INFO L290 TraceCheckUtils]: 39: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume !(~x~1 < ~i~1); {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:10,060 INFO L290 TraceCheckUtils]: 40: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} #res := ~y~1; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:10,060 INFO L290 TraceCheckUtils]: 41: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume true; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:10,061 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} #113#return; {54623#false} is VALID [2022-04-27 11:39:10,061 INFO L290 TraceCheckUtils]: 43: Hoare triple {54623#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {54623#false} is VALID [2022-04-27 11:39:10,061 INFO L272 TraceCheckUtils]: 44: Hoare triple {54623#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {54623#false} is VALID [2022-04-27 11:39:10,061 INFO L290 TraceCheckUtils]: 45: Hoare triple {54623#false} ~cond := #in~cond; {54623#false} is VALID [2022-04-27 11:39:10,061 INFO L290 TraceCheckUtils]: 46: Hoare triple {54623#false} assume 0 == ~cond; {54623#false} is VALID [2022-04-27 11:39:10,061 INFO L290 TraceCheckUtils]: 47: Hoare triple {54623#false} assume !false; {54623#false} is VALID [2022-04-27 11:39:10,061 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-27 11:39:10,061 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:39:11,666 INFO L290 TraceCheckUtils]: 47: Hoare triple {54623#false} assume !false; {54623#false} is VALID [2022-04-27 11:39:11,666 INFO L290 TraceCheckUtils]: 46: Hoare triple {54623#false} assume 0 == ~cond; {54623#false} is VALID [2022-04-27 11:39:11,666 INFO L290 TraceCheckUtils]: 45: Hoare triple {54623#false} ~cond := #in~cond; {54623#false} is VALID [2022-04-27 11:39:11,666 INFO L272 TraceCheckUtils]: 44: Hoare triple {54623#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {54623#false} is VALID [2022-04-27 11:39:11,666 INFO L290 TraceCheckUtils]: 43: Hoare triple {54623#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {54623#false} is VALID [2022-04-27 11:39:11,667 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} #113#return; {54623#false} is VALID [2022-04-27 11:39:11,667 INFO L290 TraceCheckUtils]: 41: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume true; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:11,667 INFO L290 TraceCheckUtils]: 40: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} #res := ~y~1; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:11,667 INFO L290 TraceCheckUtils]: 39: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} assume !(~x~1 < ~i~1); {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:11,668 INFO L290 TraceCheckUtils]: 38: Hoare triple {54678#(<= |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; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:11,668 INFO L290 TraceCheckUtils]: 37: Hoare triple {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} ~x~1 := 0;~y~1 := 0; {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:11,668 INFO L290 TraceCheckUtils]: 36: Hoare triple {54873#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {54678#(<= |student_version_#in~m| (* |student_version_#in~a| 6))} is VALID [2022-04-27 11:39:11,668 INFO L290 TraceCheckUtils]: 35: Hoare triple {54877#(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; {54873#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-27 11:39:11,669 INFO L290 TraceCheckUtils]: 34: Hoare triple {54881#(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; {54877#(or (<= |student_version_#in~m| (* |student_version_#in~a| 6)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} is VALID [2022-04-27 11:39:11,669 INFO L290 TraceCheckUtils]: 33: Hoare triple {54885#(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; {54881#(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-27 11:39:11,670 INFO L290 TraceCheckUtils]: 32: Hoare triple {54889#(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; {54885#(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-27 11:39:11,670 INFO L290 TraceCheckUtils]: 31: Hoare triple {54893#(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; {54889#(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-27 11:39:11,671 INFO L290 TraceCheckUtils]: 30: Hoare triple {54897#(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; {54893#(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-27 11:39:11,671 INFO L290 TraceCheckUtils]: 29: Hoare triple {54897#(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); {54897#(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-27 11:39:11,671 INFO L290 TraceCheckUtils]: 28: Hoare triple {54897#(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; {54897#(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-27 11:39:11,671 INFO L290 TraceCheckUtils]: 27: Hoare triple {54622#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {54897#(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-27 11:39:11,672 INFO L272 TraceCheckUtils]: 26: Hoare triple {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {54622#true} is VALID [2022-04-27 11:39:11,672 INFO L290 TraceCheckUtils]: 25: Hoare triple {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} is VALID [2022-04-27 11:39:11,672 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {54622#true} #111#return; {54644#(<= (+ (* main_~a~0 6) 1) main_~m~0)} is VALID [2022-04-27 11:39:11,672 INFO L290 TraceCheckUtils]: 23: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:11,673 INFO L290 TraceCheckUtils]: 22: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:11,673 INFO L290 TraceCheckUtils]: 21: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:11,673 INFO L290 TraceCheckUtils]: 20: Hoare triple {54670#(<= (+ (* 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; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:11,673 INFO L290 TraceCheckUtils]: 19: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:11,674 INFO L290 TraceCheckUtils]: 18: Hoare triple {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:11,674 INFO L290 TraceCheckUtils]: 17: Hoare triple {54937#(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; {54670#(<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:39:11,674 INFO L290 TraceCheckUtils]: 16: Hoare triple {54941#(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; {54937#(or (<= (+ (* 6 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-27 11:39:11,675 INFO L290 TraceCheckUtils]: 15: Hoare triple {54945#(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; {54941#(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-27 11:39:11,675 INFO L290 TraceCheckUtils]: 14: Hoare triple {54949#(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; {54945#(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-27 11:39:11,676 INFO L290 TraceCheckUtils]: 13: Hoare triple {54953#(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; {54949#(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-27 11:39:11,676 INFO L290 TraceCheckUtils]: 12: Hoare triple {54957#(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; {54953#(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-27 11:39:11,677 INFO L290 TraceCheckUtils]: 11: Hoare triple {54961#(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; {54957#(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-27 11:39:11,677 INFO L290 TraceCheckUtils]: 10: Hoare triple {54961#(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); {54961#(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-27 11:39:11,677 INFO L290 TraceCheckUtils]: 9: Hoare triple {54961#(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; {54961#(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-27 11:39:11,678 INFO L290 TraceCheckUtils]: 8: Hoare triple {54622#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {54961#(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-27 11:39:11,678 INFO L272 TraceCheckUtils]: 7: Hoare triple {54622#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {54622#true} is VALID [2022-04-27 11:39:11,678 INFO L290 TraceCheckUtils]: 6: Hoare triple {54622#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {54622#true} is VALID [2022-04-27 11:39:11,678 INFO L290 TraceCheckUtils]: 5: Hoare triple {54622#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {54622#true} is VALID [2022-04-27 11:39:11,678 INFO L272 TraceCheckUtils]: 4: Hoare triple {54622#true} call #t~ret10 := main(); {54622#true} is VALID [2022-04-27 11:39:11,678 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {54622#true} {54622#true} #117#return; {54622#true} is VALID [2022-04-27 11:39:11,678 INFO L290 TraceCheckUtils]: 2: Hoare triple {54622#true} assume true; {54622#true} is VALID [2022-04-27 11:39:11,678 INFO L290 TraceCheckUtils]: 1: Hoare triple {54622#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {54622#true} is VALID [2022-04-27 11:39:11,678 INFO L272 TraceCheckUtils]: 0: Hoare triple {54622#true} call ULTIMATE.init(); {54622#true} is VALID [2022-04-27 11:39:11,678 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-27 11:39:11,679 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1585409571] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:39:11,679 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:39:11,679 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 19, 19] total 49 [2022-04-27 11:39:11,679 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2115242412] [2022-04-27 11:39:11,679 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:39:11,679 INFO L78 Accepts]: Start accepts. Automaton has has 49 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 48 [2022-04-27 11:39:11,679 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:39:11,679 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 49 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:39:11,748 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-27 11:39:11,748 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 49 states [2022-04-27 11:39:11,748 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:39:11,749 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 49 interpolants. [2022-04-27 11:39:11,749 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=159, Invalid=2193, Unknown=0, NotChecked=0, Total=2352 [2022-04-27 11:39:11,749 INFO L87 Difference]: Start difference. First operand 387 states and 449 transitions. Second operand has 49 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:39:18,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:18,223 INFO L93 Difference]: Finished difference Result 402 states and 464 transitions. [2022-04-27 11:39:18,223 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-04-27 11:39:18,223 INFO L78 Accepts]: Start accepts. Automaton has has 49 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 48 [2022-04-27 11:39:18,223 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:39:18,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:39:18,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 145 transitions. [2022-04-27 11:39:18,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:39:18,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 145 transitions. [2022-04-27 11:39:18,230 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 145 transitions. [2022-04-27 11:39:18,311 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-27 11:39:18,326 INFO L225 Difference]: With dead ends: 402 [2022-04-27 11:39:18,327 INFO L226 Difference]: Without dead ends: 390 [2022-04-27 11:39:18,328 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 75 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 803 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=458, Invalid=5394, Unknown=0, NotChecked=0, Total=5852 [2022-04-27 11:39:18,328 INFO L413 NwaCegarLoop]: 88 mSDtfsCounter, 662 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 3036 mSolverCounterSat, 69 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 675 SdHoareTripleChecker+Valid, 220 SdHoareTripleChecker+Invalid, 3105 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 69 IncrementalHoareTripleChecker+Valid, 3036 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.9s IncrementalHoareTripleChecker+Time [2022-04-27 11:39:18,329 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [675 Valid, 220 Invalid, 3105 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [69 Valid, 3036 Invalid, 0 Unknown, 0 Unchecked, 1.9s Time] [2022-04-27 11:39:18,335 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 390 states. [2022-04-27 11:39:20,514 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 390 to 388. [2022-04-27 11:39:20,515 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:39:20,515 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-27 11:39:20,515 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-27 11:39:20,516 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-27 11:39:20,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:20,522 INFO L93 Difference]: Finished difference Result 390 states and 449 transitions. [2022-04-27 11:39:20,522 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 449 transitions. [2022-04-27 11:39:20,523 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:39:20,523 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:39:20,524 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-27 11:39:20,524 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-27 11:39:20,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:20,530 INFO L93 Difference]: Finished difference Result 390 states and 449 transitions. [2022-04-27 11:39:20,531 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 449 transitions. [2022-04-27 11:39:20,531 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:39:20,532 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:39:20,532 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:39:20,532 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:39:20,532 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-27 11:39:20,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 388 states to 388 states and 447 transitions. [2022-04-27 11:39:20,539 INFO L78 Accepts]: Start accepts. Automaton has 388 states and 447 transitions. Word has length 48 [2022-04-27 11:39:20,540 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:39:20,540 INFO L495 AbstractCegarLoop]: Abstraction has 388 states and 447 transitions. [2022-04-27 11:39:20,540 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 49 states, 49 states have (on average 1.6734693877551021) internal successors, (82), 48 states have internal predecessors, (82), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:39:20,540 INFO L276 IsEmpty]: Start isEmpty. Operand 388 states and 447 transitions. [2022-04-27 11:39:20,542 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-27 11:39:20,542 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:39:20,542 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:39:20,560 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-27 11:39:20,760 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 41 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable49 [2022-04-27 11:39:20,760 INFO L420 AbstractCegarLoop]: === Iteration 51 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:39:20,761 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:39:20,761 INFO L85 PathProgramCache]: Analyzing trace with hash 179082418, now seen corresponding path program 41 times [2022-04-27 11:39:20,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:39:20,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1505477593] [2022-04-27 11:39:20,761 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:39:20,761 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:39:20,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:20,780 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:39:20,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:20,783 INFO L290 TraceCheckUtils]: 0: Hoare triple {56981#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {56943#true} is VALID [2022-04-27 11:39:20,783 INFO L290 TraceCheckUtils]: 1: Hoare triple {56943#true} assume true; {56943#true} is VALID [2022-04-27 11:39:20,783 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {56943#true} {56943#true} #117#return; {56943#true} is VALID [2022-04-27 11:39:20,783 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:39:20,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:20,836 INFO L290 TraceCheckUtils]: 0: Hoare triple {56943#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {56982#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,837 INFO L290 TraceCheckUtils]: 1: Hoare triple {56982#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56983#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,837 INFO L290 TraceCheckUtils]: 2: Hoare triple {56983#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56984#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,837 INFO L290 TraceCheckUtils]: 3: Hoare triple {56984#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56985#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,838 INFO L290 TraceCheckUtils]: 4: Hoare triple {56985#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,838 INFO L290 TraceCheckUtils]: 5: Hoare triple {56986#(<= 4 correct_version_~i~0)} assume !(~b~0 < ~n); {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,838 INFO L290 TraceCheckUtils]: 6: Hoare triple {56986#(<= 4 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,838 INFO L290 TraceCheckUtils]: 7: Hoare triple {56986#(<= 4 correct_version_~i~0)} assume !(~l~0 < ~m); {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,839 INFO L290 TraceCheckUtils]: 8: Hoare triple {56986#(<= 4 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {56987#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} is VALID [2022-04-27 11:39:20,839 INFO L290 TraceCheckUtils]: 9: Hoare triple {56987#(<= (+ 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; {56988#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-27 11:39:20,840 INFO L290 TraceCheckUtils]: 10: Hoare triple {56988#(<= (+ 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; {56989#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-27 11:39:20,840 INFO L290 TraceCheckUtils]: 11: Hoare triple {56989#(<= (+ 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; {56990#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:39:20,840 INFO L290 TraceCheckUtils]: 12: Hoare triple {56990#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {56944#false} is VALID [2022-04-27 11:39:20,840 INFO L290 TraceCheckUtils]: 13: Hoare triple {56944#false} #res := ~y~0; {56944#false} is VALID [2022-04-27 11:39:20,840 INFO L290 TraceCheckUtils]: 14: Hoare triple {56944#false} assume true; {56944#false} is VALID [2022-04-27 11:39:20,840 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {56944#false} {56943#true} #111#return; {56944#false} is VALID [2022-04-27 11:39:20,841 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-04-27 11:39:20,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:20,847 INFO L290 TraceCheckUtils]: 0: Hoare triple {56943#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {56943#true} is VALID [2022-04-27 11:39:20,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {56943#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56943#true} is VALID [2022-04-27 11:39:20,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {56943#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56943#true} is VALID [2022-04-27 11:39:20,847 INFO L290 TraceCheckUtils]: 3: Hoare triple {56943#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56943#true} is VALID [2022-04-27 11:39:20,847 INFO L290 TraceCheckUtils]: 4: Hoare triple {56943#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56943#true} is VALID [2022-04-27 11:39:20,847 INFO L290 TraceCheckUtils]: 5: Hoare triple {56943#true} assume !(~b~1 < ~n); {56943#true} is VALID [2022-04-27 11:39:20,847 INFO L290 TraceCheckUtils]: 6: Hoare triple {56943#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {56943#true} is VALID [2022-04-27 11:39:20,847 INFO L290 TraceCheckUtils]: 7: Hoare triple {56943#true} assume !(~l~1 < ~m); {56943#true} is VALID [2022-04-27 11:39:20,847 INFO L290 TraceCheckUtils]: 8: Hoare triple {56943#true} ~x~1 := 0;~y~1 := 0; {56943#true} is VALID [2022-04-27 11:39:20,847 INFO L290 TraceCheckUtils]: 9: Hoare triple {56943#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56943#true} is VALID [2022-04-27 11:39:20,848 INFO L290 TraceCheckUtils]: 10: Hoare triple {56943#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56943#true} is VALID [2022-04-27 11:39:20,848 INFO L290 TraceCheckUtils]: 11: Hoare triple {56943#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56943#true} is VALID [2022-04-27 11:39:20,848 INFO L290 TraceCheckUtils]: 12: Hoare triple {56943#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56943#true} is VALID [2022-04-27 11:39:20,848 INFO L290 TraceCheckUtils]: 13: Hoare triple {56943#true} assume !(~x~1 < ~i~1); {56943#true} is VALID [2022-04-27 11:39:20,848 INFO L290 TraceCheckUtils]: 14: Hoare triple {56943#true} #res := ~y~1; {56943#true} is VALID [2022-04-27 11:39:20,848 INFO L290 TraceCheckUtils]: 15: Hoare triple {56943#true} assume true; {56943#true} is VALID [2022-04-27 11:39:20,848 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {56943#true} {56944#false} #113#return; {56944#false} is VALID [2022-04-27 11:39:20,848 INFO L272 TraceCheckUtils]: 0: Hoare triple {56943#true} call ULTIMATE.init(); {56981#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:39:20,848 INFO L290 TraceCheckUtils]: 1: Hoare triple {56981#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {56943#true} is VALID [2022-04-27 11:39:20,848 INFO L290 TraceCheckUtils]: 2: Hoare triple {56943#true} assume true; {56943#true} is VALID [2022-04-27 11:39:20,848 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56943#true} {56943#true} #117#return; {56943#true} is VALID [2022-04-27 11:39:20,848 INFO L272 TraceCheckUtils]: 4: Hoare triple {56943#true} call #t~ret10 := main(); {56943#true} is VALID [2022-04-27 11:39:20,848 INFO L290 TraceCheckUtils]: 5: Hoare triple {56943#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {56943#true} is VALID [2022-04-27 11:39:20,849 INFO L290 TraceCheckUtils]: 6: Hoare triple {56943#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {56943#true} is VALID [2022-04-27 11:39:20,849 INFO L272 TraceCheckUtils]: 7: Hoare triple {56943#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {56943#true} is VALID [2022-04-27 11:39:20,849 INFO L290 TraceCheckUtils]: 8: Hoare triple {56943#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {56982#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,849 INFO L290 TraceCheckUtils]: 9: Hoare triple {56982#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56983#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,850 INFO L290 TraceCheckUtils]: 10: Hoare triple {56983#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56984#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,850 INFO L290 TraceCheckUtils]: 11: Hoare triple {56984#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56985#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,850 INFO L290 TraceCheckUtils]: 12: Hoare triple {56985#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,851 INFO L290 TraceCheckUtils]: 13: Hoare triple {56986#(<= 4 correct_version_~i~0)} assume !(~b~0 < ~n); {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,851 INFO L290 TraceCheckUtils]: 14: Hoare triple {56986#(<= 4 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,851 INFO L290 TraceCheckUtils]: 15: Hoare triple {56986#(<= 4 correct_version_~i~0)} assume !(~l~0 < ~m); {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:20,851 INFO L290 TraceCheckUtils]: 16: Hoare triple {56986#(<= 4 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {56987#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} is VALID [2022-04-27 11:39:20,852 INFO L290 TraceCheckUtils]: 17: Hoare triple {56987#(<= (+ 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; {56988#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-27 11:39:20,852 INFO L290 TraceCheckUtils]: 18: Hoare triple {56988#(<= (+ 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; {56989#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-27 11:39:20,853 INFO L290 TraceCheckUtils]: 19: Hoare triple {56989#(<= (+ 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; {56990#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:39:20,853 INFO L290 TraceCheckUtils]: 20: Hoare triple {56990#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {56944#false} is VALID [2022-04-27 11:39:20,853 INFO L290 TraceCheckUtils]: 21: Hoare triple {56944#false} #res := ~y~0; {56944#false} is VALID [2022-04-27 11:39:20,853 INFO L290 TraceCheckUtils]: 22: Hoare triple {56944#false} assume true; {56944#false} is VALID [2022-04-27 11:39:20,853 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {56944#false} {56943#true} #111#return; {56944#false} is VALID [2022-04-27 11:39:20,853 INFO L290 TraceCheckUtils]: 24: Hoare triple {56944#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {56944#false} is VALID [2022-04-27 11:39:20,853 INFO L272 TraceCheckUtils]: 25: Hoare triple {56944#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {56943#true} is VALID [2022-04-27 11:39:20,853 INFO L290 TraceCheckUtils]: 26: Hoare triple {56943#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {56943#true} is VALID [2022-04-27 11:39:20,853 INFO L290 TraceCheckUtils]: 27: Hoare triple {56943#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56943#true} is VALID [2022-04-27 11:39:20,853 INFO L290 TraceCheckUtils]: 28: Hoare triple {56943#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56943#true} is VALID [2022-04-27 11:39:20,853 INFO L290 TraceCheckUtils]: 29: Hoare triple {56943#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56943#true} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 30: Hoare triple {56943#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56943#true} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 31: Hoare triple {56943#true} assume !(~b~1 < ~n); {56943#true} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 32: Hoare triple {56943#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {56943#true} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 33: Hoare triple {56943#true} assume !(~l~1 < ~m); {56943#true} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 34: Hoare triple {56943#true} ~x~1 := 0;~y~1 := 0; {56943#true} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 35: Hoare triple {56943#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56943#true} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 36: Hoare triple {56943#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56943#true} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 37: Hoare triple {56943#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56943#true} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 38: Hoare triple {56943#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56943#true} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 39: Hoare triple {56943#true} assume !(~x~1 < ~i~1); {56943#true} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 40: Hoare triple {56943#true} #res := ~y~1; {56943#true} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 41: Hoare triple {56943#true} assume true; {56943#true} is VALID [2022-04-27 11:39:20,854 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {56943#true} {56944#false} #113#return; {56944#false} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 43: Hoare triple {56944#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {56944#false} is VALID [2022-04-27 11:39:20,854 INFO L272 TraceCheckUtils]: 44: Hoare triple {56944#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {56944#false} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 45: Hoare triple {56944#false} ~cond := #in~cond; {56944#false} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 46: Hoare triple {56944#false} assume 0 == ~cond; {56944#false} is VALID [2022-04-27 11:39:20,854 INFO L290 TraceCheckUtils]: 47: Hoare triple {56944#false} assume !false; {56944#false} is VALID [2022-04-27 11:39:20,855 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-27 11:39:20,855 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:39:20,855 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1505477593] [2022-04-27 11:39:20,855 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1505477593] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:39:20,855 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [811417076] [2022-04-27 11:39:20,855 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 11:39:20,855 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:39:20,855 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:39:20,856 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-27 11:39:20,872 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-27 11:39:20,936 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 3 check-sat command(s) [2022-04-27 11:39:20,936 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:39:20,937 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 11:39:20,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:20,945 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:39:21,102 INFO L272 TraceCheckUtils]: 0: Hoare triple {56943#true} call ULTIMATE.init(); {56943#true} is VALID [2022-04-27 11:39:21,102 INFO L290 TraceCheckUtils]: 1: Hoare triple {56943#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {56943#true} is VALID [2022-04-27 11:39:21,102 INFO L290 TraceCheckUtils]: 2: Hoare triple {56943#true} assume true; {56943#true} is VALID [2022-04-27 11:39:21,102 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56943#true} {56943#true} #117#return; {56943#true} is VALID [2022-04-27 11:39:21,102 INFO L272 TraceCheckUtils]: 4: Hoare triple {56943#true} call #t~ret10 := main(); {56943#true} is VALID [2022-04-27 11:39:21,102 INFO L290 TraceCheckUtils]: 5: Hoare triple {56943#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {56943#true} is VALID [2022-04-27 11:39:21,103 INFO L290 TraceCheckUtils]: 6: Hoare triple {56943#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {56943#true} is VALID [2022-04-27 11:39:21,103 INFO L272 TraceCheckUtils]: 7: Hoare triple {56943#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {56943#true} is VALID [2022-04-27 11:39:21,103 INFO L290 TraceCheckUtils]: 8: Hoare triple {56943#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {56982#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,103 INFO L290 TraceCheckUtils]: 9: Hoare triple {56982#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56983#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,104 INFO L290 TraceCheckUtils]: 10: Hoare triple {56983#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56984#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,104 INFO L290 TraceCheckUtils]: 11: Hoare triple {56984#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56985#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,105 INFO L290 TraceCheckUtils]: 12: Hoare triple {56985#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,105 INFO L290 TraceCheckUtils]: 13: Hoare triple {56986#(<= 4 correct_version_~i~0)} assume !(~b~0 < ~n); {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,105 INFO L290 TraceCheckUtils]: 14: Hoare triple {56986#(<= 4 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,105 INFO L290 TraceCheckUtils]: 15: Hoare triple {56986#(<= 4 correct_version_~i~0)} assume !(~l~0 < ~m); {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,106 INFO L290 TraceCheckUtils]: 16: Hoare triple {56986#(<= 4 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {57042#(and (<= 4 correct_version_~i~0) (<= correct_version_~x~0 0))} is VALID [2022-04-27 11:39:21,106 INFO L290 TraceCheckUtils]: 17: Hoare triple {57042#(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; {57046#(and (<= 4 correct_version_~i~0) (<= correct_version_~x~0 1))} is VALID [2022-04-27 11:39:21,106 INFO L290 TraceCheckUtils]: 18: Hoare triple {57046#(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; {57050#(and (<= correct_version_~x~0 2) (<= 4 correct_version_~i~0))} is VALID [2022-04-27 11:39:21,107 INFO L290 TraceCheckUtils]: 19: Hoare triple {57050#(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; {57054#(and (<= correct_version_~x~0 3) (<= 4 correct_version_~i~0))} is VALID [2022-04-27 11:39:21,107 INFO L290 TraceCheckUtils]: 20: Hoare triple {57054#(and (<= correct_version_~x~0 3) (<= 4 correct_version_~i~0))} assume !(~x~0 < ~i~0); {56944#false} is VALID [2022-04-27 11:39:21,107 INFO L290 TraceCheckUtils]: 21: Hoare triple {56944#false} #res := ~y~0; {56944#false} is VALID [2022-04-27 11:39:21,107 INFO L290 TraceCheckUtils]: 22: Hoare triple {56944#false} assume true; {56944#false} is VALID [2022-04-27 11:39:21,107 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {56944#false} {56943#true} #111#return; {56944#false} is VALID [2022-04-27 11:39:21,107 INFO L290 TraceCheckUtils]: 24: Hoare triple {56944#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {56944#false} is VALID [2022-04-27 11:39:21,107 INFO L272 TraceCheckUtils]: 25: Hoare triple {56944#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 26: Hoare triple {56944#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 27: Hoare triple {56944#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 28: Hoare triple {56944#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 29: Hoare triple {56944#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 30: Hoare triple {56944#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 31: Hoare triple {56944#false} assume !(~b~1 < ~n); {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 32: Hoare triple {56944#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 33: Hoare triple {56944#false} assume !(~l~1 < ~m); {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 34: Hoare triple {56944#false} ~x~1 := 0;~y~1 := 0; {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 35: Hoare triple {56944#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 36: Hoare triple {56944#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 37: Hoare triple {56944#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 38: Hoare triple {56944#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 39: Hoare triple {56944#false} assume !(~x~1 < ~i~1); {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 40: Hoare triple {56944#false} #res := ~y~1; {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 41: Hoare triple {56944#false} assume true; {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {56944#false} {56944#false} #113#return; {56944#false} is VALID [2022-04-27 11:39:21,108 INFO L290 TraceCheckUtils]: 43: Hoare triple {56944#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {56944#false} is VALID [2022-04-27 11:39:21,109 INFO L272 TraceCheckUtils]: 44: Hoare triple {56944#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {56944#false} is VALID [2022-04-27 11:39:21,109 INFO L290 TraceCheckUtils]: 45: Hoare triple {56944#false} ~cond := #in~cond; {56944#false} is VALID [2022-04-27 11:39:21,109 INFO L290 TraceCheckUtils]: 46: Hoare triple {56944#false} assume 0 == ~cond; {56944#false} is VALID [2022-04-27 11:39:21,109 INFO L290 TraceCheckUtils]: 47: Hoare triple {56944#false} assume !false; {56944#false} is VALID [2022-04-27 11:39:21,109 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-27 11:39:21,109 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:39:21,235 INFO L290 TraceCheckUtils]: 47: Hoare triple {56944#false} assume !false; {56944#false} is VALID [2022-04-27 11:39:21,235 INFO L290 TraceCheckUtils]: 46: Hoare triple {56944#false} assume 0 == ~cond; {56944#false} is VALID [2022-04-27 11:39:21,235 INFO L290 TraceCheckUtils]: 45: Hoare triple {56944#false} ~cond := #in~cond; {56944#false} is VALID [2022-04-27 11:39:21,235 INFO L272 TraceCheckUtils]: 44: Hoare triple {56944#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {56944#false} is VALID [2022-04-27 11:39:21,235 INFO L290 TraceCheckUtils]: 43: Hoare triple {56944#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {56944#false} is VALID [2022-04-27 11:39:21,236 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {56943#true} {56944#false} #113#return; {56944#false} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 41: Hoare triple {56943#true} assume true; {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 40: Hoare triple {56943#true} #res := ~y~1; {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 39: Hoare triple {56943#true} assume !(~x~1 < ~i~1); {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 38: Hoare triple {56943#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 37: Hoare triple {56943#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 36: Hoare triple {56943#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 35: Hoare triple {56943#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 34: Hoare triple {56943#true} ~x~1 := 0;~y~1 := 0; {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 33: Hoare triple {56943#true} assume !(~l~1 < ~m); {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 32: Hoare triple {56943#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 31: Hoare triple {56943#true} assume !(~b~1 < ~n); {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 30: Hoare triple {56943#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 29: Hoare triple {56943#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 28: Hoare triple {56943#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 27: Hoare triple {56943#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 26: Hoare triple {56943#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L272 TraceCheckUtils]: 25: Hoare triple {56944#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {56943#true} is VALID [2022-04-27 11:39:21,236 INFO L290 TraceCheckUtils]: 24: Hoare triple {56944#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {56944#false} is VALID [2022-04-27 11:39:21,237 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {56944#false} {56943#true} #111#return; {56944#false} is VALID [2022-04-27 11:39:21,237 INFO L290 TraceCheckUtils]: 22: Hoare triple {56944#false} assume true; {56944#false} is VALID [2022-04-27 11:39:21,237 INFO L290 TraceCheckUtils]: 21: Hoare triple {56944#false} #res := ~y~0; {56944#false} is VALID [2022-04-27 11:39:21,237 INFO L290 TraceCheckUtils]: 20: Hoare triple {56990#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {56944#false} is VALID [2022-04-27 11:39:21,237 INFO L290 TraceCheckUtils]: 19: Hoare triple {56989#(<= (+ 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; {56990#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:39:21,238 INFO L290 TraceCheckUtils]: 18: Hoare triple {56988#(<= (+ 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; {56989#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-27 11:39:21,238 INFO L290 TraceCheckUtils]: 17: Hoare triple {56987#(<= (+ 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; {56988#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-27 11:39:21,238 INFO L290 TraceCheckUtils]: 16: Hoare triple {56986#(<= 4 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {56987#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} is VALID [2022-04-27 11:39:21,239 INFO L290 TraceCheckUtils]: 15: Hoare triple {56986#(<= 4 correct_version_~i~0)} assume !(~l~0 < ~m); {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,239 INFO L290 TraceCheckUtils]: 14: Hoare triple {56986#(<= 4 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,239 INFO L290 TraceCheckUtils]: 13: Hoare triple {56986#(<= 4 correct_version_~i~0)} assume !(~b~0 < ~n); {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,239 INFO L290 TraceCheckUtils]: 12: Hoare triple {56985#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56986#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,240 INFO L290 TraceCheckUtils]: 11: Hoare triple {56984#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56985#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,240 INFO L290 TraceCheckUtils]: 10: Hoare triple {56983#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56984#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,240 INFO L290 TraceCheckUtils]: 9: Hoare triple {56982#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {56983#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,241 INFO L290 TraceCheckUtils]: 8: Hoare triple {56943#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {56982#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:39:21,241 INFO L272 TraceCheckUtils]: 7: Hoare triple {56943#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {56943#true} is VALID [2022-04-27 11:39:21,241 INFO L290 TraceCheckUtils]: 6: Hoare triple {56943#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {56943#true} is VALID [2022-04-27 11:39:21,241 INFO L290 TraceCheckUtils]: 5: Hoare triple {56943#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {56943#true} is VALID [2022-04-27 11:39:21,241 INFO L272 TraceCheckUtils]: 4: Hoare triple {56943#true} call #t~ret10 := main(); {56943#true} is VALID [2022-04-27 11:39:21,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56943#true} {56943#true} #117#return; {56943#true} is VALID [2022-04-27 11:39:21,241 INFO L290 TraceCheckUtils]: 2: Hoare triple {56943#true} assume true; {56943#true} is VALID [2022-04-27 11:39:21,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {56943#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {56943#true} is VALID [2022-04-27 11:39:21,241 INFO L272 TraceCheckUtils]: 0: Hoare triple {56943#true} call ULTIMATE.init(); {56943#true} is VALID [2022-04-27 11:39:21,241 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-27 11:39:21,241 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [811417076] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:39:21,241 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:39:21,241 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11, 11] total 16 [2022-04-27 11:39:21,242 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [716035505] [2022-04-27 11:39:21,242 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:39:21,242 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 3.125) internal successors, (50), 15 states have internal predecessors, (50), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 48 [2022-04-27 11:39:21,242 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:39:21,242 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 3.125) internal successors, (50), 15 states have internal predecessors, (50), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:21,267 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-27 11:39:21,268 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 11:39:21,268 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:39:21,268 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 11:39:21,268 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=159, Unknown=0, NotChecked=0, Total=240 [2022-04-27 11:39:21,268 INFO L87 Difference]: Start difference. First operand 388 states and 447 transitions. Second operand has 16 states, 16 states have (on average 3.125) internal successors, (50), 15 states have internal predecessors, (50), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:22,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:22,975 INFO L93 Difference]: Finished difference Result 593 states and 672 transitions. [2022-04-27 11:39:22,975 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-27 11:39:22,976 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 3.125) internal successors, (50), 15 states have internal predecessors, (50), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 48 [2022-04-27 11:39:22,976 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:39:22,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 3.125) internal successors, (50), 15 states have internal predecessors, (50), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:22,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 97 transitions. [2022-04-27 11:39:22,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 3.125) internal successors, (50), 15 states have internal predecessors, (50), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:22,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 97 transitions. [2022-04-27 11:39:22,977 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 97 transitions. [2022-04-27 11:39:23,018 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-27 11:39:23,026 INFO L225 Difference]: With dead ends: 593 [2022-04-27 11:39:23,027 INFO L226 Difference]: Without dead ends: 383 [2022-04-27 11:39:23,029 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 97 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 167 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=301, Invalid=629, Unknown=0, NotChecked=0, Total=930 [2022-04-27 11:39:23,029 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 69 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 262 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 291 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 262 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:39:23,030 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [71 Valid, 71 Invalid, 291 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 262 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:39:23,030 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 383 states. [2022-04-27 11:39:25,343 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 383 to 375. [2022-04-27 11:39:25,343 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:39:25,343 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-27 11:39:25,344 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-27 11:39:25,344 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-27 11:39:25,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:25,350 INFO L93 Difference]: Finished difference Result 383 states and 438 transitions. [2022-04-27 11:39:25,350 INFO L276 IsEmpty]: Start isEmpty. Operand 383 states and 438 transitions. [2022-04-27 11:39:25,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:39:25,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:39:25,351 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-27 11:39:25,351 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-27 11:39:25,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:25,357 INFO L93 Difference]: Finished difference Result 383 states and 438 transitions. [2022-04-27 11:39:25,357 INFO L276 IsEmpty]: Start isEmpty. Operand 383 states and 438 transitions. [2022-04-27 11:39:25,358 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:39:25,358 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:39:25,358 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:39:25,358 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:39:25,358 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-27 11:39:25,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 375 states to 375 states and 428 transitions. [2022-04-27 11:39:25,365 INFO L78 Accepts]: Start accepts. Automaton has 375 states and 428 transitions. Word has length 48 [2022-04-27 11:39:25,365 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:39:25,365 INFO L495 AbstractCegarLoop]: Abstraction has 375 states and 428 transitions. [2022-04-27 11:39:25,365 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 3.125) internal successors, (50), 15 states have internal predecessors, (50), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:25,365 INFO L276 IsEmpty]: Start isEmpty. Operand 375 states and 428 transitions. [2022-04-27 11:39:25,366 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-27 11:39:25,366 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:39:25,366 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:39:25,383 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-27 11:39:25,583 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable50,42 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:39:25,583 INFO L420 AbstractCegarLoop]: === Iteration 52 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:39:25,583 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:39:25,583 INFO L85 PathProgramCache]: Analyzing trace with hash 2046793773, now seen corresponding path program 42 times [2022-04-27 11:39:25,583 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:39:25,583 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [74000332] [2022-04-27 11:39:25,583 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:39:25,584 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:39:25,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:25,605 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:39:25,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:25,614 INFO L290 TraceCheckUtils]: 0: Hoare triple {59482#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {59444#true} is VALID [2022-04-27 11:39:25,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {59444#true} assume true; {59444#true} is VALID [2022-04-27 11:39:25,614 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {59444#true} {59444#true} #117#return; {59444#true} is VALID [2022-04-27 11:39:25,615 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:39:25,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:25,619 INFO L290 TraceCheckUtils]: 0: Hoare triple {59444#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {59444#true} is VALID [2022-04-27 11:39:25,619 INFO L290 TraceCheckUtils]: 1: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:25,619 INFO L290 TraceCheckUtils]: 2: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:25,619 INFO L290 TraceCheckUtils]: 3: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:25,619 INFO L290 TraceCheckUtils]: 4: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:25,620 INFO L290 TraceCheckUtils]: 5: Hoare triple {59444#true} assume !(~b~0 < ~n); {59444#true} is VALID [2022-04-27 11:39:25,620 INFO L290 TraceCheckUtils]: 6: Hoare triple {59444#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {59444#true} is VALID [2022-04-27 11:39:25,620 INFO L290 TraceCheckUtils]: 7: Hoare triple {59444#true} assume !(~l~0 < ~m); {59444#true} is VALID [2022-04-27 11:39:25,620 INFO L290 TraceCheckUtils]: 8: Hoare triple {59444#true} ~x~0 := 0;~y~0 := 0; {59444#true} is VALID [2022-04-27 11:39:25,620 INFO L290 TraceCheckUtils]: 9: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:25,620 INFO L290 TraceCheckUtils]: 10: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:25,620 INFO L290 TraceCheckUtils]: 11: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:25,620 INFO L290 TraceCheckUtils]: 12: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:25,620 INFO L290 TraceCheckUtils]: 13: Hoare triple {59444#true} assume !(~x~0 < ~i~0); {59444#true} is VALID [2022-04-27 11:39:25,620 INFO L290 TraceCheckUtils]: 14: Hoare triple {59444#true} #res := ~y~0; {59444#true} is VALID [2022-04-27 11:39:25,620 INFO L290 TraceCheckUtils]: 15: Hoare triple {59444#true} assume true; {59444#true} is VALID [2022-04-27 11:39:25,620 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {59444#true} {59444#true} #111#return; {59444#true} is VALID [2022-04-27 11:39:25,620 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-27 11:39:25,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:25,680 INFO L290 TraceCheckUtils]: 0: Hoare triple {59444#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {59483#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:39:25,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {59483#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59484#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:39:25,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {59484#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59485#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:39:25,682 INFO L290 TraceCheckUtils]: 3: Hoare triple {59485#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59486#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:39:25,682 INFO L290 TraceCheckUtils]: 4: Hoare triple {59486#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:25,682 INFO L290 TraceCheckUtils]: 5: Hoare triple {59487#(<= 4 student_version_~i~1)} assume !(~b~1 < ~n); {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:25,682 INFO L290 TraceCheckUtils]: 6: Hoare triple {59487#(<= 4 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:25,683 INFO L290 TraceCheckUtils]: 7: Hoare triple {59487#(<= 4 student_version_~i~1)} assume !(~l~1 < ~m); {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:25,683 INFO L290 TraceCheckUtils]: 8: Hoare triple {59487#(<= 4 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {59488#(<= (+ student_version_~x~1 4) student_version_~i~1)} is VALID [2022-04-27 11:39:25,683 INFO L290 TraceCheckUtils]: 9: Hoare triple {59488#(<= (+ 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; {59489#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:39:25,684 INFO L290 TraceCheckUtils]: 10: Hoare triple {59489#(<= (+ 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; {59490#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:39:25,684 INFO L290 TraceCheckUtils]: 11: Hoare triple {59490#(<= (+ 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; {59491#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:39:25,684 INFO L290 TraceCheckUtils]: 12: Hoare triple {59491#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {59445#false} is VALID [2022-04-27 11:39:25,684 INFO L290 TraceCheckUtils]: 13: Hoare triple {59445#false} #res := ~y~1; {59445#false} is VALID [2022-04-27 11:39:25,684 INFO L290 TraceCheckUtils]: 14: Hoare triple {59445#false} assume true; {59445#false} is VALID [2022-04-27 11:39:25,684 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {59445#false} {59444#true} #113#return; {59445#false} is VALID [2022-04-27 11:39:25,685 INFO L272 TraceCheckUtils]: 0: Hoare triple {59444#true} call ULTIMATE.init(); {59482#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:39:25,686 INFO L290 TraceCheckUtils]: 1: Hoare triple {59482#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L290 TraceCheckUtils]: 2: Hoare triple {59444#true} assume true; {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59444#true} {59444#true} #117#return; {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L272 TraceCheckUtils]: 4: Hoare triple {59444#true} call #t~ret10 := main(); {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L290 TraceCheckUtils]: 5: Hoare triple {59444#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L290 TraceCheckUtils]: 6: Hoare triple {59444#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L272 TraceCheckUtils]: 7: Hoare triple {59444#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L290 TraceCheckUtils]: 8: Hoare triple {59444#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L290 TraceCheckUtils]: 9: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L290 TraceCheckUtils]: 10: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L290 TraceCheckUtils]: 11: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L290 TraceCheckUtils]: 12: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L290 TraceCheckUtils]: 13: Hoare triple {59444#true} assume !(~b~0 < ~n); {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L290 TraceCheckUtils]: 14: Hoare triple {59444#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L290 TraceCheckUtils]: 15: Hoare triple {59444#true} assume !(~l~0 < ~m); {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L290 TraceCheckUtils]: 16: Hoare triple {59444#true} ~x~0 := 0;~y~0 := 0; {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L290 TraceCheckUtils]: 17: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:25,686 INFO L290 TraceCheckUtils]: 18: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:25,687 INFO L290 TraceCheckUtils]: 19: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:25,687 INFO L290 TraceCheckUtils]: 20: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:25,687 INFO L290 TraceCheckUtils]: 21: Hoare triple {59444#true} assume !(~x~0 < ~i~0); {59444#true} is VALID [2022-04-27 11:39:25,687 INFO L290 TraceCheckUtils]: 22: Hoare triple {59444#true} #res := ~y~0; {59444#true} is VALID [2022-04-27 11:39:25,687 INFO L290 TraceCheckUtils]: 23: Hoare triple {59444#true} assume true; {59444#true} is VALID [2022-04-27 11:39:25,687 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {59444#true} {59444#true} #111#return; {59444#true} is VALID [2022-04-27 11:39:25,687 INFO L290 TraceCheckUtils]: 25: Hoare triple {59444#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {59444#true} is VALID [2022-04-27 11:39:25,687 INFO L272 TraceCheckUtils]: 26: Hoare triple {59444#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {59444#true} is VALID [2022-04-27 11:39:25,687 INFO L290 TraceCheckUtils]: 27: Hoare triple {59444#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {59483#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:39:25,688 INFO L290 TraceCheckUtils]: 28: Hoare triple {59483#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59484#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:39:25,688 INFO L290 TraceCheckUtils]: 29: Hoare triple {59484#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59485#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:39:25,688 INFO L290 TraceCheckUtils]: 30: Hoare triple {59485#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59486#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:39:25,688 INFO L290 TraceCheckUtils]: 31: Hoare triple {59486#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:25,689 INFO L290 TraceCheckUtils]: 32: Hoare triple {59487#(<= 4 student_version_~i~1)} assume !(~b~1 < ~n); {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:25,689 INFO L290 TraceCheckUtils]: 33: Hoare triple {59487#(<= 4 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:25,689 INFO L290 TraceCheckUtils]: 34: Hoare triple {59487#(<= 4 student_version_~i~1)} assume !(~l~1 < ~m); {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:25,689 INFO L290 TraceCheckUtils]: 35: Hoare triple {59487#(<= 4 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {59488#(<= (+ student_version_~x~1 4) student_version_~i~1)} is VALID [2022-04-27 11:39:25,689 INFO L290 TraceCheckUtils]: 36: Hoare triple {59488#(<= (+ 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; {59489#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:39:25,690 INFO L290 TraceCheckUtils]: 37: Hoare triple {59489#(<= (+ 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; {59490#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:39:25,690 INFO L290 TraceCheckUtils]: 38: Hoare triple {59490#(<= (+ 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; {59491#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:39:25,690 INFO L290 TraceCheckUtils]: 39: Hoare triple {59491#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {59445#false} is VALID [2022-04-27 11:39:25,690 INFO L290 TraceCheckUtils]: 40: Hoare triple {59445#false} #res := ~y~1; {59445#false} is VALID [2022-04-27 11:39:25,690 INFO L290 TraceCheckUtils]: 41: Hoare triple {59445#false} assume true; {59445#false} is VALID [2022-04-27 11:39:25,690 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {59445#false} {59444#true} #113#return; {59445#false} is VALID [2022-04-27 11:39:25,690 INFO L290 TraceCheckUtils]: 43: Hoare triple {59445#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {59445#false} is VALID [2022-04-27 11:39:25,690 INFO L272 TraceCheckUtils]: 44: Hoare triple {59445#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {59445#false} is VALID [2022-04-27 11:39:25,690 INFO L290 TraceCheckUtils]: 45: Hoare triple {59445#false} ~cond := #in~cond; {59445#false} is VALID [2022-04-27 11:39:25,691 INFO L290 TraceCheckUtils]: 46: Hoare triple {59445#false} assume 0 == ~cond; {59445#false} is VALID [2022-04-27 11:39:25,691 INFO L290 TraceCheckUtils]: 47: Hoare triple {59445#false} assume !false; {59445#false} is VALID [2022-04-27 11:39:25,691 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-27 11:39:25,691 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:39:25,691 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [74000332] [2022-04-27 11:39:25,691 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [74000332] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:39:25,691 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1797673742] [2022-04-27 11:39:25,691 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-27 11:39:25,691 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:39:25,691 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:39:25,692 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-27 11:39:25,694 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-27 11:39:25,764 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-27 11:39:25,764 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:39:25,765 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 11:39:25,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:25,787 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:39:26,007 INFO L272 TraceCheckUtils]: 0: Hoare triple {59444#true} call ULTIMATE.init(); {59444#true} is VALID [2022-04-27 11:39:26,007 INFO L290 TraceCheckUtils]: 1: Hoare triple {59444#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {59444#true} is VALID [2022-04-27 11:39:26,007 INFO L290 TraceCheckUtils]: 2: Hoare triple {59444#true} assume true; {59444#true} is VALID [2022-04-27 11:39:26,008 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59444#true} {59444#true} #117#return; {59444#true} is VALID [2022-04-27 11:39:26,008 INFO L272 TraceCheckUtils]: 4: Hoare triple {59444#true} call #t~ret10 := main(); {59444#true} is VALID [2022-04-27 11:39:26,008 INFO L290 TraceCheckUtils]: 5: Hoare triple {59444#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {59444#true} is VALID [2022-04-27 11:39:26,008 INFO L290 TraceCheckUtils]: 6: Hoare triple {59444#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {59444#true} is VALID [2022-04-27 11:39:26,008 INFO L272 TraceCheckUtils]: 7: Hoare triple {59444#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {59444#true} is VALID [2022-04-27 11:39:26,008 INFO L290 TraceCheckUtils]: 8: Hoare triple {59444#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {59444#true} is VALID [2022-04-27 11:39:26,008 INFO L290 TraceCheckUtils]: 9: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:26,008 INFO L290 TraceCheckUtils]: 10: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:26,008 INFO L290 TraceCheckUtils]: 11: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:26,008 INFO L290 TraceCheckUtils]: 12: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:26,008 INFO L290 TraceCheckUtils]: 13: Hoare triple {59444#true} assume !(~b~0 < ~n); {59444#true} is VALID [2022-04-27 11:39:26,008 INFO L290 TraceCheckUtils]: 14: Hoare triple {59444#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {59444#true} is VALID [2022-04-27 11:39:26,018 INFO L290 TraceCheckUtils]: 15: Hoare triple {59444#true} assume !(~l~0 < ~m); {59444#true} is VALID [2022-04-27 11:39:26,018 INFO L290 TraceCheckUtils]: 16: Hoare triple {59444#true} ~x~0 := 0;~y~0 := 0; {59444#true} is VALID [2022-04-27 11:39:26,018 INFO L290 TraceCheckUtils]: 17: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:26,018 INFO L290 TraceCheckUtils]: 18: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:26,018 INFO L290 TraceCheckUtils]: 19: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:26,018 INFO L290 TraceCheckUtils]: 20: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:26,018 INFO L290 TraceCheckUtils]: 21: Hoare triple {59444#true} assume !(~x~0 < ~i~0); {59444#true} is VALID [2022-04-27 11:39:26,018 INFO L290 TraceCheckUtils]: 22: Hoare triple {59444#true} #res := ~y~0; {59444#true} is VALID [2022-04-27 11:39:26,018 INFO L290 TraceCheckUtils]: 23: Hoare triple {59444#true} assume true; {59444#true} is VALID [2022-04-27 11:39:26,019 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {59444#true} {59444#true} #111#return; {59444#true} is VALID [2022-04-27 11:39:26,019 INFO L290 TraceCheckUtils]: 25: Hoare triple {59444#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {59444#true} is VALID [2022-04-27 11:39:26,019 INFO L272 TraceCheckUtils]: 26: Hoare triple {59444#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {59444#true} is VALID [2022-04-27 11:39:26,020 INFO L290 TraceCheckUtils]: 27: Hoare triple {59444#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {59483#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:39:26,021 INFO L290 TraceCheckUtils]: 28: Hoare triple {59483#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59484#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:39:26,021 INFO L290 TraceCheckUtils]: 29: Hoare triple {59484#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59485#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:39:26,022 INFO L290 TraceCheckUtils]: 30: Hoare triple {59485#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59486#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:39:26,022 INFO L290 TraceCheckUtils]: 31: Hoare triple {59486#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:26,022 INFO L290 TraceCheckUtils]: 32: Hoare triple {59487#(<= 4 student_version_~i~1)} assume !(~b~1 < ~n); {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:26,023 INFO L290 TraceCheckUtils]: 33: Hoare triple {59487#(<= 4 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:26,023 INFO L290 TraceCheckUtils]: 34: Hoare triple {59487#(<= 4 student_version_~i~1)} assume !(~l~1 < ~m); {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:26,026 INFO L290 TraceCheckUtils]: 35: Hoare triple {59487#(<= 4 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {59600#(and (<= student_version_~x~1 0) (<= 4 student_version_~i~1))} is VALID [2022-04-27 11:39:26,028 INFO L290 TraceCheckUtils]: 36: Hoare triple {59600#(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; {59604#(and (<= student_version_~x~1 1) (<= 4 student_version_~i~1))} is VALID [2022-04-27 11:39:26,028 INFO L290 TraceCheckUtils]: 37: Hoare triple {59604#(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; {59608#(and (<= student_version_~x~1 2) (<= 4 student_version_~i~1))} is VALID [2022-04-27 11:39:26,029 INFO L290 TraceCheckUtils]: 38: Hoare triple {59608#(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; {59612#(and (<= student_version_~x~1 3) (<= 4 student_version_~i~1))} is VALID [2022-04-27 11:39:26,029 INFO L290 TraceCheckUtils]: 39: Hoare triple {59612#(and (<= student_version_~x~1 3) (<= 4 student_version_~i~1))} assume !(~x~1 < ~i~1); {59445#false} is VALID [2022-04-27 11:39:26,029 INFO L290 TraceCheckUtils]: 40: Hoare triple {59445#false} #res := ~y~1; {59445#false} is VALID [2022-04-27 11:39:26,029 INFO L290 TraceCheckUtils]: 41: Hoare triple {59445#false} assume true; {59445#false} is VALID [2022-04-27 11:39:26,029 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {59445#false} {59444#true} #113#return; {59445#false} is VALID [2022-04-27 11:39:26,029 INFO L290 TraceCheckUtils]: 43: Hoare triple {59445#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {59445#false} is VALID [2022-04-27 11:39:26,029 INFO L272 TraceCheckUtils]: 44: Hoare triple {59445#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {59445#false} is VALID [2022-04-27 11:39:26,030 INFO L290 TraceCheckUtils]: 45: Hoare triple {59445#false} ~cond := #in~cond; {59445#false} is VALID [2022-04-27 11:39:26,030 INFO L290 TraceCheckUtils]: 46: Hoare triple {59445#false} assume 0 == ~cond; {59445#false} is VALID [2022-04-27 11:39:26,030 INFO L290 TraceCheckUtils]: 47: Hoare triple {59445#false} assume !false; {59445#false} is VALID [2022-04-27 11:39:26,030 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-27 11:39:26,030 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:39:26,165 INFO L290 TraceCheckUtils]: 47: Hoare triple {59445#false} assume !false; {59445#false} is VALID [2022-04-27 11:39:26,165 INFO L290 TraceCheckUtils]: 46: Hoare triple {59445#false} assume 0 == ~cond; {59445#false} is VALID [2022-04-27 11:39:26,165 INFO L290 TraceCheckUtils]: 45: Hoare triple {59445#false} ~cond := #in~cond; {59445#false} is VALID [2022-04-27 11:39:26,165 INFO L272 TraceCheckUtils]: 44: Hoare triple {59445#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {59445#false} is VALID [2022-04-27 11:39:26,165 INFO L290 TraceCheckUtils]: 43: Hoare triple {59445#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {59445#false} is VALID [2022-04-27 11:39:26,165 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {59445#false} {59444#true} #113#return; {59445#false} is VALID [2022-04-27 11:39:26,165 INFO L290 TraceCheckUtils]: 41: Hoare triple {59445#false} assume true; {59445#false} is VALID [2022-04-27 11:39:26,165 INFO L290 TraceCheckUtils]: 40: Hoare triple {59445#false} #res := ~y~1; {59445#false} is VALID [2022-04-27 11:39:26,165 INFO L290 TraceCheckUtils]: 39: Hoare triple {59491#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {59445#false} is VALID [2022-04-27 11:39:26,166 INFO L290 TraceCheckUtils]: 38: Hoare triple {59490#(<= (+ 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; {59491#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:39:26,166 INFO L290 TraceCheckUtils]: 37: Hoare triple {59489#(<= (+ 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; {59490#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:39:26,167 INFO L290 TraceCheckUtils]: 36: Hoare triple {59488#(<= (+ 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; {59489#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:39:26,167 INFO L290 TraceCheckUtils]: 35: Hoare triple {59487#(<= 4 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {59488#(<= (+ student_version_~x~1 4) student_version_~i~1)} is VALID [2022-04-27 11:39:26,167 INFO L290 TraceCheckUtils]: 34: Hoare triple {59487#(<= 4 student_version_~i~1)} assume !(~l~1 < ~m); {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:26,167 INFO L290 TraceCheckUtils]: 33: Hoare triple {59487#(<= 4 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:26,168 INFO L290 TraceCheckUtils]: 32: Hoare triple {59487#(<= 4 student_version_~i~1)} assume !(~b~1 < ~n); {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:26,168 INFO L290 TraceCheckUtils]: 31: Hoare triple {59486#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59487#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:39:26,168 INFO L290 TraceCheckUtils]: 30: Hoare triple {59485#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59486#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:39:26,169 INFO L290 TraceCheckUtils]: 29: Hoare triple {59484#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59485#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:39:26,169 INFO L290 TraceCheckUtils]: 28: Hoare triple {59483#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {59484#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:39:26,170 INFO L290 TraceCheckUtils]: 27: Hoare triple {59444#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {59483#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:39:26,170 INFO L272 TraceCheckUtils]: 26: Hoare triple {59444#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {59444#true} is VALID [2022-04-27 11:39:26,170 INFO L290 TraceCheckUtils]: 25: Hoare triple {59444#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {59444#true} is VALID [2022-04-27 11:39:26,170 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {59444#true} {59444#true} #111#return; {59444#true} is VALID [2022-04-27 11:39:26,170 INFO L290 TraceCheckUtils]: 23: Hoare triple {59444#true} assume true; {59444#true} is VALID [2022-04-27 11:39:26,170 INFO L290 TraceCheckUtils]: 22: Hoare triple {59444#true} #res := ~y~0; {59444#true} is VALID [2022-04-27 11:39:26,170 INFO L290 TraceCheckUtils]: 21: Hoare triple {59444#true} assume !(~x~0 < ~i~0); {59444#true} is VALID [2022-04-27 11:39:26,170 INFO L290 TraceCheckUtils]: 20: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:26,170 INFO L290 TraceCheckUtils]: 19: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:26,170 INFO L290 TraceCheckUtils]: 18: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:26,170 INFO L290 TraceCheckUtils]: 17: Hoare triple {59444#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {59444#true} is VALID [2022-04-27 11:39:26,170 INFO L290 TraceCheckUtils]: 16: Hoare triple {59444#true} ~x~0 := 0;~y~0 := 0; {59444#true} is VALID [2022-04-27 11:39:26,170 INFO L290 TraceCheckUtils]: 15: Hoare triple {59444#true} assume !(~l~0 < ~m); {59444#true} is VALID [2022-04-27 11:39:26,170 INFO L290 TraceCheckUtils]: 14: Hoare triple {59444#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {59444#true} is VALID [2022-04-27 11:39:26,170 INFO L290 TraceCheckUtils]: 13: Hoare triple {59444#true} assume !(~b~0 < ~n); {59444#true} is VALID [2022-04-27 11:39:26,170 INFO L290 TraceCheckUtils]: 12: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:26,170 INFO L290 TraceCheckUtils]: 11: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:26,171 INFO L290 TraceCheckUtils]: 10: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:26,171 INFO L290 TraceCheckUtils]: 9: Hoare triple {59444#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {59444#true} is VALID [2022-04-27 11:39:26,171 INFO L290 TraceCheckUtils]: 8: Hoare triple {59444#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {59444#true} is VALID [2022-04-27 11:39:26,171 INFO L272 TraceCheckUtils]: 7: Hoare triple {59444#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {59444#true} is VALID [2022-04-27 11:39:26,171 INFO L290 TraceCheckUtils]: 6: Hoare triple {59444#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {59444#true} is VALID [2022-04-27 11:39:26,171 INFO L290 TraceCheckUtils]: 5: Hoare triple {59444#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {59444#true} is VALID [2022-04-27 11:39:26,171 INFO L272 TraceCheckUtils]: 4: Hoare triple {59444#true} call #t~ret10 := main(); {59444#true} is VALID [2022-04-27 11:39:26,171 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59444#true} {59444#true} #117#return; {59444#true} is VALID [2022-04-27 11:39:26,171 INFO L290 TraceCheckUtils]: 2: Hoare triple {59444#true} assume true; {59444#true} is VALID [2022-04-27 11:39:26,171 INFO L290 TraceCheckUtils]: 1: Hoare triple {59444#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {59444#true} is VALID [2022-04-27 11:39:26,171 INFO L272 TraceCheckUtils]: 0: Hoare triple {59444#true} call ULTIMATE.init(); {59444#true} is VALID [2022-04-27 11:39:26,171 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-27 11:39:26,171 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1797673742] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:39:26,171 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:39:26,171 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11, 11] total 16 [2022-04-27 11:39:26,172 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [500557224] [2022-04-27 11:39:26,172 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:39:26,172 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 48 [2022-04-27 11:39:26,172 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:39:26,172 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:39:26,198 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-27 11:39:26,199 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 11:39:26,199 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:39:26,199 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 11:39:26,199 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=159, Unknown=0, NotChecked=0, Total=240 [2022-04-27 11:39:26,199 INFO L87 Difference]: Start difference. First operand 375 states and 428 transitions. Second operand has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:39:28,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:28,253 INFO L93 Difference]: Finished difference Result 409 states and 468 transitions. [2022-04-27 11:39:28,253 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-27 11:39:28,253 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 48 [2022-04-27 11:39:28,253 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:39:28,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:39:28,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 84 transitions. [2022-04-27 11:39:28,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:39:28,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 84 transitions. [2022-04-27 11:39:28,262 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 84 transitions. [2022-04-27 11:39:28,298 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-27 11:39:28,307 INFO L225 Difference]: With dead ends: 409 [2022-04-27 11:39:28,307 INFO L226 Difference]: Without dead ends: 382 [2022-04-27 11:39:28,309 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 97 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 167 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=301, Invalid=629, Unknown=0, NotChecked=0, Total=930 [2022-04-27 11:39:28,311 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 72 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 262 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 77 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 262 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:39:28,311 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [77 Valid, 75 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 262 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 11:39:28,312 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 382 states. [2022-04-27 11:39:29,689 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 382 to 382. [2022-04-27 11:39:29,689 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:39:29,690 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-27 11:39:29,690 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-27 11:39:29,690 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-27 11:39:29,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:29,696 INFO L93 Difference]: Finished difference Result 382 states and 435 transitions. [2022-04-27 11:39:29,696 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 435 transitions. [2022-04-27 11:39:29,697 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:39:29,697 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:39:29,697 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-27 11:39:29,698 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-27 11:39:29,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:29,703 INFO L93 Difference]: Finished difference Result 382 states and 435 transitions. [2022-04-27 11:39:29,703 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 435 transitions. [2022-04-27 11:39:29,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:39:29,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:39:29,704 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:39:29,704 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:39:29,704 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-27 11:39:29,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 382 states to 382 states and 435 transitions. [2022-04-27 11:39:29,711 INFO L78 Accepts]: Start accepts. Automaton has 382 states and 435 transitions. Word has length 48 [2022-04-27 11:39:29,711 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:39:29,711 INFO L495 AbstractCegarLoop]: Abstraction has 382 states and 435 transitions. [2022-04-27 11:39:29,711 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:39:29,711 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 435 transitions. [2022-04-27 11:39:29,713 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-27 11:39:29,713 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:39:29,713 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:39:29,731 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (43)] Ended with exit code 0 [2022-04-27 11:39:29,927 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable51,43 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:39:29,927 INFO L420 AbstractCegarLoop]: === Iteration 53 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:39:29,927 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:39:29,928 INFO L85 PathProgramCache]: Analyzing trace with hash -1121658739, now seen corresponding path program 43 times [2022-04-27 11:39:29,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:39:29,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [969829651] [2022-04-27 11:39:29,928 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:39:29,928 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:39:29,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:30,015 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:39:30,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:30,019 INFO L290 TraceCheckUtils]: 0: Hoare triple {61749#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {61704#true} is VALID [2022-04-27 11:39:30,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {61704#true} assume true; {61704#true} is VALID [2022-04-27 11:39:30,019 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {61704#true} {61704#true} #117#return; {61704#true} is VALID [2022-04-27 11:39:30,019 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:39:30,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:30,181 INFO L290 TraceCheckUtils]: 0: Hoare triple {61704#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:30,181 INFO L290 TraceCheckUtils]: 1: Hoare triple {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:30,181 INFO L290 TraceCheckUtils]: 2: Hoare triple {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:30,182 INFO L290 TraceCheckUtils]: 3: Hoare triple {61750#(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; {61751#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:30,182 INFO L290 TraceCheckUtils]: 4: Hoare triple {61751#(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; {61752#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:39:30,182 INFO L290 TraceCheckUtils]: 5: Hoare triple {61752#(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; {61753#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:30,183 INFO L290 TraceCheckUtils]: 6: Hoare triple {61753#(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; {61754#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:39:30,183 INFO L290 TraceCheckUtils]: 7: Hoare triple {61754#(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; {61755#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:39:30,183 INFO L290 TraceCheckUtils]: 8: Hoare triple {61755#(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; {61756#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:39:30,184 INFO L290 TraceCheckUtils]: 9: Hoare triple {61756#(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; {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:39:30,184 INFO L290 TraceCheckUtils]: 10: Hoare triple {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:39:30,184 INFO L290 TraceCheckUtils]: 11: Hoare triple {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {61758#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 7) (<= 7 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:39:30,185 INFO L290 TraceCheckUtils]: 12: Hoare triple {61758#(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; {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-27 11:39:30,185 INFO L290 TraceCheckUtils]: 13: Hoare triple {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} assume !(~x~0 < ~i~0); {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-27 11:39:30,185 INFO L290 TraceCheckUtils]: 14: Hoare triple {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} #res := ~y~0; {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-27 11:39:30,185 INFO L290 TraceCheckUtils]: 15: Hoare triple {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} assume true; {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-27 11:39:30,186 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} {61704#true} #111#return; {61726#(and (<= 7 |main_#t~ret8|) (<= |main_#t~ret8| 7))} is VALID [2022-04-27 11:39:30,186 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-27 11:39:30,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:30,438 INFO L290 TraceCheckUtils]: 0: Hoare triple {61704#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:30,438 INFO L290 TraceCheckUtils]: 1: Hoare triple {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:30,439 INFO L290 TraceCheckUtils]: 2: Hoare triple {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:30,439 INFO L290 TraceCheckUtils]: 3: Hoare triple {61761#(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; {61762#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:30,439 INFO L290 TraceCheckUtils]: 4: Hoare triple {61762#(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; {61763#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:39:30,440 INFO L290 TraceCheckUtils]: 5: Hoare triple {61763#(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; {61764#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:30,440 INFO L290 TraceCheckUtils]: 6: Hoare triple {61764#(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; {61765#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:39:30,441 INFO L290 TraceCheckUtils]: 7: Hoare triple {61765#(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; {61766#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:39:30,441 INFO L290 TraceCheckUtils]: 8: Hoare triple {61766#(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; {61767#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:39:30,442 INFO L290 TraceCheckUtils]: 9: Hoare triple {61767#(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; {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:39:30,442 INFO L290 TraceCheckUtils]: 10: Hoare triple {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:39:30,442 INFO L290 TraceCheckUtils]: 11: Hoare triple {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {61769#(and (<= (+ student_version_~j~1 student_version_~y~1) 7) (<= 7 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:39:30,443 INFO L290 TraceCheckUtils]: 12: Hoare triple {61769#(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; {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-27 11:39:30,443 INFO L290 TraceCheckUtils]: 13: Hoare triple {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} assume !(~x~1 < ~i~1); {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-27 11:39:30,443 INFO L290 TraceCheckUtils]: 14: Hoare triple {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} #res := ~y~1; {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-27 11:39:30,444 INFO L290 TraceCheckUtils]: 15: Hoare triple {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} assume true; {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-27 11:39:30,445 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} {61727#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} #113#return; {61745#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:39:30,445 INFO L272 TraceCheckUtils]: 0: Hoare triple {61704#true} call ULTIMATE.init(); {61749#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:39:30,445 INFO L290 TraceCheckUtils]: 1: Hoare triple {61749#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {61704#true} is VALID [2022-04-27 11:39:30,445 INFO L290 TraceCheckUtils]: 2: Hoare triple {61704#true} assume true; {61704#true} is VALID [2022-04-27 11:39:30,445 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {61704#true} {61704#true} #117#return; {61704#true} is VALID [2022-04-27 11:39:30,445 INFO L272 TraceCheckUtils]: 4: Hoare triple {61704#true} call #t~ret10 := main(); {61704#true} is VALID [2022-04-27 11:39:30,445 INFO L290 TraceCheckUtils]: 5: Hoare triple {61704#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {61704#true} is VALID [2022-04-27 11:39:30,445 INFO L290 TraceCheckUtils]: 6: Hoare triple {61704#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {61704#true} is VALID [2022-04-27 11:39:30,445 INFO L272 TraceCheckUtils]: 7: Hoare triple {61704#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {61704#true} is VALID [2022-04-27 11:39:30,446 INFO L290 TraceCheckUtils]: 8: Hoare triple {61704#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:30,446 INFO L290 TraceCheckUtils]: 9: Hoare triple {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:30,446 INFO L290 TraceCheckUtils]: 10: Hoare triple {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:30,447 INFO L290 TraceCheckUtils]: 11: Hoare triple {61750#(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; {61751#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:30,447 INFO L290 TraceCheckUtils]: 12: Hoare triple {61751#(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; {61752#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:39:30,448 INFO L290 TraceCheckUtils]: 13: Hoare triple {61752#(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; {61753#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:30,448 INFO L290 TraceCheckUtils]: 14: Hoare triple {61753#(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; {61754#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:39:30,449 INFO L290 TraceCheckUtils]: 15: Hoare triple {61754#(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; {61755#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:39:30,449 INFO L290 TraceCheckUtils]: 16: Hoare triple {61755#(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; {61756#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:39:30,449 INFO L290 TraceCheckUtils]: 17: Hoare triple {61756#(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; {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:39:30,450 INFO L290 TraceCheckUtils]: 18: Hoare triple {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:39:30,450 INFO L290 TraceCheckUtils]: 19: Hoare triple {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {61758#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 7) (<= 7 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:39:30,451 INFO L290 TraceCheckUtils]: 20: Hoare triple {61758#(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; {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-27 11:39:30,451 INFO L290 TraceCheckUtils]: 21: Hoare triple {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} assume !(~x~0 < ~i~0); {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-27 11:39:30,451 INFO L290 TraceCheckUtils]: 22: Hoare triple {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} #res := ~y~0; {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-27 11:39:30,451 INFO L290 TraceCheckUtils]: 23: Hoare triple {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} assume true; {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-27 11:39:30,452 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} {61704#true} #111#return; {61726#(and (<= 7 |main_#t~ret8|) (<= |main_#t~ret8| 7))} is VALID [2022-04-27 11:39:30,452 INFO L290 TraceCheckUtils]: 25: Hoare triple {61726#(and (<= 7 |main_#t~ret8|) (<= |main_#t~ret8| 7))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {61727#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} is VALID [2022-04-27 11:39:30,452 INFO L272 TraceCheckUtils]: 26: Hoare triple {61727#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {61704#true} is VALID [2022-04-27 11:39:30,453 INFO L290 TraceCheckUtils]: 27: Hoare triple {61704#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:30,453 INFO L290 TraceCheckUtils]: 28: Hoare triple {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:30,453 INFO L290 TraceCheckUtils]: 29: Hoare triple {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:30,454 INFO L290 TraceCheckUtils]: 30: Hoare triple {61761#(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; {61762#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:30,454 INFO L290 TraceCheckUtils]: 31: Hoare triple {61762#(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; {61763#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:39:30,455 INFO L290 TraceCheckUtils]: 32: Hoare triple {61763#(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; {61764#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:30,455 INFO L290 TraceCheckUtils]: 33: Hoare triple {61764#(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; {61765#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:39:30,456 INFO L290 TraceCheckUtils]: 34: Hoare triple {61765#(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; {61766#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:39:30,456 INFO L290 TraceCheckUtils]: 35: Hoare triple {61766#(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; {61767#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:39:30,456 INFO L290 TraceCheckUtils]: 36: Hoare triple {61767#(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; {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:39:30,457 INFO L290 TraceCheckUtils]: 37: Hoare triple {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:39:30,457 INFO L290 TraceCheckUtils]: 38: Hoare triple {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {61769#(and (<= (+ student_version_~j~1 student_version_~y~1) 7) (<= 7 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:39:30,458 INFO L290 TraceCheckUtils]: 39: Hoare triple {61769#(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; {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-27 11:39:30,458 INFO L290 TraceCheckUtils]: 40: Hoare triple {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} assume !(~x~1 < ~i~1); {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-27 11:39:30,458 INFO L290 TraceCheckUtils]: 41: Hoare triple {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} #res := ~y~1; {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-27 11:39:30,459 INFO L290 TraceCheckUtils]: 42: Hoare triple {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} assume true; {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-27 11:39:30,459 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} {61727#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} #113#return; {61745#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:39:30,460 INFO L290 TraceCheckUtils]: 44: Hoare triple {61745#(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; {61746#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:39:30,460 INFO L272 TraceCheckUtils]: 45: Hoare triple {61746#(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)); {61747#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:39:30,461 INFO L290 TraceCheckUtils]: 46: Hoare triple {61747#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {61748#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:39:30,461 INFO L290 TraceCheckUtils]: 47: Hoare triple {61748#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {61705#false} is VALID [2022-04-27 11:39:30,461 INFO L290 TraceCheckUtils]: 48: Hoare triple {61705#false} assume !false; {61705#false} is VALID [2022-04-27 11:39:30,461 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-27 11:39:30,461 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:39:30,461 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [969829651] [2022-04-27 11:39:30,461 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [969829651] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:39:30,461 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [735925043] [2022-04-27 11:39:30,461 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-04-27 11:39:30,461 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:39:30,462 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:39:30,462 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-27 11:39:30,465 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-27 11:39:30,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:30,554 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-27 11:39:30,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:30,564 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:39:31,014 INFO L272 TraceCheckUtils]: 0: Hoare triple {61704#true} call ULTIMATE.init(); {61704#true} is VALID [2022-04-27 11:39:31,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {61704#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {61704#true} is VALID [2022-04-27 11:39:31,015 INFO L290 TraceCheckUtils]: 2: Hoare triple {61704#true} assume true; {61704#true} is VALID [2022-04-27 11:39:31,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {61704#true} {61704#true} #117#return; {61704#true} is VALID [2022-04-27 11:39:31,015 INFO L272 TraceCheckUtils]: 4: Hoare triple {61704#true} call #t~ret10 := main(); {61704#true} is VALID [2022-04-27 11:39:31,015 INFO L290 TraceCheckUtils]: 5: Hoare triple {61704#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {61704#true} is VALID [2022-04-27 11:39:31,015 INFO L290 TraceCheckUtils]: 6: Hoare triple {61704#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {61704#true} is VALID [2022-04-27 11:39:31,015 INFO L272 TraceCheckUtils]: 7: Hoare triple {61704#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {61704#true} is VALID [2022-04-27 11:39:31,015 INFO L290 TraceCheckUtils]: 8: Hoare triple {61704#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:31,015 INFO L290 TraceCheckUtils]: 9: Hoare triple {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:31,016 INFO L290 TraceCheckUtils]: 10: Hoare triple {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:31,016 INFO L290 TraceCheckUtils]: 11: Hoare triple {61750#(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; {61751#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:31,016 INFO L290 TraceCheckUtils]: 12: Hoare triple {61751#(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; {61752#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:39:31,017 INFO L290 TraceCheckUtils]: 13: Hoare triple {61752#(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; {61753#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:31,017 INFO L290 TraceCheckUtils]: 14: Hoare triple {61753#(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; {61754#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:39:31,017 INFO L290 TraceCheckUtils]: 15: Hoare triple {61754#(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; {61755#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:39:31,018 INFO L290 TraceCheckUtils]: 16: Hoare triple {61755#(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; {61756#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:39:31,018 INFO L290 TraceCheckUtils]: 17: Hoare triple {61756#(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; {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:39:31,018 INFO L290 TraceCheckUtils]: 18: Hoare triple {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:39:31,018 INFO L290 TraceCheckUtils]: 19: Hoare triple {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {61832#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7) (= correct_version_~y~0 0))} is VALID [2022-04-27 11:39:31,019 INFO L290 TraceCheckUtils]: 20: Hoare triple {61832#(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; {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-27 11:39:31,019 INFO L290 TraceCheckUtils]: 21: Hoare triple {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} assume !(~x~0 < ~i~0); {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-27 11:39:31,019 INFO L290 TraceCheckUtils]: 22: Hoare triple {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} #res := ~y~0; {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-27 11:39:31,019 INFO L290 TraceCheckUtils]: 23: Hoare triple {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} assume true; {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-27 11:39:31,020 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} {61704#true} #111#return; {61726#(and (<= 7 |main_#t~ret8|) (<= |main_#t~ret8| 7))} is VALID [2022-04-27 11:39:31,020 INFO L290 TraceCheckUtils]: 25: Hoare triple {61726#(and (<= 7 |main_#t~ret8|) (<= |main_#t~ret8| 7))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {61727#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} is VALID [2022-04-27 11:39:31,020 INFO L272 TraceCheckUtils]: 26: Hoare triple {61727#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {61704#true} is VALID [2022-04-27 11:39:31,020 INFO L290 TraceCheckUtils]: 27: Hoare triple {61704#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:31,021 INFO L290 TraceCheckUtils]: 28: Hoare triple {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:31,021 INFO L290 TraceCheckUtils]: 29: Hoare triple {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:31,021 INFO L290 TraceCheckUtils]: 30: Hoare triple {61761#(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; {61762#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:31,022 INFO L290 TraceCheckUtils]: 31: Hoare triple {61762#(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; {61763#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:39:31,022 INFO L290 TraceCheckUtils]: 32: Hoare triple {61763#(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; {61764#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:31,022 INFO L290 TraceCheckUtils]: 33: Hoare triple {61764#(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; {61765#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:39:31,023 INFO L290 TraceCheckUtils]: 34: Hoare triple {61765#(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; {61766#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:39:31,023 INFO L290 TraceCheckUtils]: 35: Hoare triple {61766#(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; {61767#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:39:31,023 INFO L290 TraceCheckUtils]: 36: Hoare triple {61767#(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; {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:39:31,024 INFO L290 TraceCheckUtils]: 37: Hoare triple {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:39:31,024 INFO L290 TraceCheckUtils]: 38: Hoare triple {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {61890#(and (= student_version_~y~1 0) (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:39:31,024 INFO L290 TraceCheckUtils]: 39: Hoare triple {61890#(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; {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-27 11:39:31,024 INFO L290 TraceCheckUtils]: 40: Hoare triple {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} assume !(~x~1 < ~i~1); {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-27 11:39:31,025 INFO L290 TraceCheckUtils]: 41: Hoare triple {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} #res := ~y~1; {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-27 11:39:31,025 INFO L290 TraceCheckUtils]: 42: Hoare triple {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} assume true; {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-27 11:39:31,025 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} {61727#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} #113#return; {61906#(and (<= main_~n_stones1~0 7) (<= |main_#t~ret9| 7) (<= 7 main_~n_stones1~0) (<= 7 |main_#t~ret9|))} is VALID [2022-04-27 11:39:31,026 INFO L290 TraceCheckUtils]: 44: Hoare triple {61906#(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; {61910#(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-27 11:39:31,026 INFO L272 TraceCheckUtils]: 45: Hoare triple {61910#(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)); {61914#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:39:31,026 INFO L290 TraceCheckUtils]: 46: Hoare triple {61914#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {61918#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:39:31,026 INFO L290 TraceCheckUtils]: 47: Hoare triple {61918#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {61705#false} is VALID [2022-04-27 11:39:31,026 INFO L290 TraceCheckUtils]: 48: Hoare triple {61705#false} assume !false; {61705#false} is VALID [2022-04-27 11:39:31,027 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-27 11:39:31,027 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:39:31,288 INFO L290 TraceCheckUtils]: 48: Hoare triple {61705#false} assume !false; {61705#false} is VALID [2022-04-27 11:39:31,289 INFO L290 TraceCheckUtils]: 47: Hoare triple {61918#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {61705#false} is VALID [2022-04-27 11:39:31,289 INFO L290 TraceCheckUtils]: 46: Hoare triple {61914#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {61918#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:39:31,289 INFO L272 TraceCheckUtils]: 45: Hoare triple {61746#(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)); {61914#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:39:31,290 INFO L290 TraceCheckUtils]: 44: Hoare triple {61745#(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; {61746#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:39:31,290 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} {61727#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} #113#return; {61745#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:39:31,291 INFO L290 TraceCheckUtils]: 42: Hoare triple {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} assume true; {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-27 11:39:31,291 INFO L290 TraceCheckUtils]: 41: Hoare triple {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} #res := ~y~1; {61771#(and (<= |student_version_#res| 7) (<= 7 |student_version_#res|))} is VALID [2022-04-27 11:39:31,291 INFO L290 TraceCheckUtils]: 40: Hoare triple {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} assume !(~x~1 < ~i~1); {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-27 11:39:31,291 INFO L290 TraceCheckUtils]: 39: Hoare triple {61769#(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; {61770#(and (<= student_version_~y~1 7) (<= 7 student_version_~y~1))} is VALID [2022-04-27 11:39:31,292 INFO L290 TraceCheckUtils]: 38: Hoare triple {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {61769#(and (<= (+ student_version_~j~1 student_version_~y~1) 7) (<= 7 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:39:31,292 INFO L290 TraceCheckUtils]: 37: Hoare triple {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:39:31,292 INFO L290 TraceCheckUtils]: 36: Hoare triple {61767#(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; {61768#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:39:31,292 INFO L290 TraceCheckUtils]: 35: Hoare triple {61766#(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; {61767#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:39:31,293 INFO L290 TraceCheckUtils]: 34: Hoare triple {61765#(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; {61766#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:39:31,293 INFO L290 TraceCheckUtils]: 33: Hoare triple {61764#(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; {61765#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:39:31,293 INFO L290 TraceCheckUtils]: 32: Hoare triple {61763#(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; {61764#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:31,294 INFO L290 TraceCheckUtils]: 31: Hoare triple {61762#(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; {61763#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:39:31,294 INFO L290 TraceCheckUtils]: 30: Hoare triple {61761#(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; {61762#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:31,294 INFO L290 TraceCheckUtils]: 29: Hoare triple {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:31,295 INFO L290 TraceCheckUtils]: 28: Hoare triple {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:31,295 INFO L290 TraceCheckUtils]: 27: Hoare triple {61704#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {61761#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:31,295 INFO L272 TraceCheckUtils]: 26: Hoare triple {61727#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {61704#true} is VALID [2022-04-27 11:39:31,295 INFO L290 TraceCheckUtils]: 25: Hoare triple {61726#(and (<= 7 |main_#t~ret8|) (<= |main_#t~ret8| 7))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {61727#(and (<= main_~n_stones1~0 7) (<= 7 main_~n_stones1~0))} is VALID [2022-04-27 11:39:31,296 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} {61704#true} #111#return; {61726#(and (<= 7 |main_#t~ret8|) (<= |main_#t~ret8| 7))} is VALID [2022-04-27 11:39:31,296 INFO L290 TraceCheckUtils]: 23: Hoare triple {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} assume true; {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-27 11:39:31,296 INFO L290 TraceCheckUtils]: 22: Hoare triple {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} #res := ~y~0; {61760#(and (<= 7 |correct_version_#res|) (<= |correct_version_#res| 7))} is VALID [2022-04-27 11:39:31,296 INFO L290 TraceCheckUtils]: 21: Hoare triple {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} assume !(~x~0 < ~i~0); {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-27 11:39:31,297 INFO L290 TraceCheckUtils]: 20: Hoare triple {61758#(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; {61759#(and (<= correct_version_~y~0 7) (<= 7 correct_version_~y~0))} is VALID [2022-04-27 11:39:31,297 INFO L290 TraceCheckUtils]: 19: Hoare triple {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {61758#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 7) (<= 7 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:39:31,297 INFO L290 TraceCheckUtils]: 18: Hoare triple {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:39:31,297 INFO L290 TraceCheckUtils]: 17: Hoare triple {61756#(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; {61757#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:39:31,298 INFO L290 TraceCheckUtils]: 16: Hoare triple {61755#(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; {61756#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:39:31,298 INFO L290 TraceCheckUtils]: 15: Hoare triple {61754#(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; {61755#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:39:31,298 INFO L290 TraceCheckUtils]: 14: Hoare triple {61753#(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; {61754#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:39:31,299 INFO L290 TraceCheckUtils]: 13: Hoare triple {61752#(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; {61753#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:31,299 INFO L290 TraceCheckUtils]: 12: Hoare triple {61751#(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; {61752#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:39:31,299 INFO L290 TraceCheckUtils]: 11: Hoare triple {61750#(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; {61751#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:31,300 INFO L290 TraceCheckUtils]: 10: Hoare triple {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:31,300 INFO L290 TraceCheckUtils]: 9: Hoare triple {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:31,300 INFO L290 TraceCheckUtils]: 8: Hoare triple {61704#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {61750#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:31,300 INFO L272 TraceCheckUtils]: 7: Hoare triple {61704#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {61704#true} is VALID [2022-04-27 11:39:31,300 INFO L290 TraceCheckUtils]: 6: Hoare triple {61704#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {61704#true} is VALID [2022-04-27 11:39:31,300 INFO L290 TraceCheckUtils]: 5: Hoare triple {61704#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {61704#true} is VALID [2022-04-27 11:39:31,300 INFO L272 TraceCheckUtils]: 4: Hoare triple {61704#true} call #t~ret10 := main(); {61704#true} is VALID [2022-04-27 11:39:31,300 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {61704#true} {61704#true} #117#return; {61704#true} is VALID [2022-04-27 11:39:31,300 INFO L290 TraceCheckUtils]: 2: Hoare triple {61704#true} assume true; {61704#true} is VALID [2022-04-27 11:39:31,300 INFO L290 TraceCheckUtils]: 1: Hoare triple {61704#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {61704#true} is VALID [2022-04-27 11:39:31,300 INFO L272 TraceCheckUtils]: 0: Hoare triple {61704#true} call ULTIMATE.init(); {61704#true} is VALID [2022-04-27 11:39:31,301 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-27 11:39:31,301 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [735925043] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:39:31,301 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:39:31,301 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 30, 30] total 37 [2022-04-27 11:39:31,301 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1283095373] [2022-04-27 11:39:31,301 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:39:31,301 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 49 [2022-04-27 11:39:31,301 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:39:31,302 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:31,324 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-27 11:39:31,324 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 37 states [2022-04-27 11:39:31,324 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:39:31,324 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-04-27 11:39:31,324 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=1251, Unknown=0, NotChecked=0, Total=1332 [2022-04-27 11:39:31,324 INFO L87 Difference]: Start difference. First operand 382 states and 435 transitions. Second operand has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:38,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:38,967 INFO L93 Difference]: Finished difference Result 460 states and 524 transitions. [2022-04-27 11:39:38,967 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-27 11:39:38,967 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 49 [2022-04-27 11:39:38,967 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:39:38,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:38,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 174 transitions. [2022-04-27 11:39:38,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:38,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 174 transitions. [2022-04-27 11:39:38,970 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 174 transitions. [2022-04-27 11:39:39,102 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-27 11:39:39,112 INFO L225 Difference]: With dead ends: 460 [2022-04-27 11:39:39,113 INFO L226 Difference]: Without dead ends: 454 [2022-04-27 11:39:39,114 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 92 SyntacticMatches, 5 SemanticMatches, 64 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 587 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=229, Invalid=4061, Unknown=0, NotChecked=0, Total=4290 [2022-04-27 11:39:39,139 INFO L413 NwaCegarLoop]: 89 mSDtfsCounter, 196 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 4147 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 204 SdHoareTripleChecker+Valid, 246 SdHoareTripleChecker+Invalid, 4191 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 4147 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.6s IncrementalHoareTripleChecker+Time [2022-04-27 11:39:39,139 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [204 Valid, 246 Invalid, 4191 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 4147 Invalid, 0 Unknown, 0 Unchecked, 2.6s Time] [2022-04-27 11:39:39,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 454 states. [2022-04-27 11:39:40,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 454 to 398. [2022-04-27 11:39:40,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:39:40,872 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-27 11:39:40,873 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-27 11:39:40,873 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-27 11:39:40,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:40,881 INFO L93 Difference]: Finished difference Result 454 states and 518 transitions. [2022-04-27 11:39:40,881 INFO L276 IsEmpty]: Start isEmpty. Operand 454 states and 518 transitions. [2022-04-27 11:39:40,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:39:40,882 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:39:40,882 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-27 11:39:40,882 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-27 11:39:40,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:40,890 INFO L93 Difference]: Finished difference Result 454 states and 518 transitions. [2022-04-27 11:39:40,890 INFO L276 IsEmpty]: Start isEmpty. Operand 454 states and 518 transitions. [2022-04-27 11:39:40,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:39:40,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:39:40,891 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:39:40,891 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:39:40,892 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-27 11:39:40,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 398 states to 398 states and 454 transitions. [2022-04-27 11:39:40,899 INFO L78 Accepts]: Start accepts. Automaton has 398 states and 454 transitions. Word has length 49 [2022-04-27 11:39:40,899 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:39:40,899 INFO L495 AbstractCegarLoop]: Abstraction has 398 states and 454 transitions. [2022-04-27 11:39:40,899 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:40,900 INFO L276 IsEmpty]: Start isEmpty. Operand 398 states and 454 transitions. [2022-04-27 11:39:40,903 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-27 11:39:40,903 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:39:40,903 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:39:40,919 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (44)] Ended with exit code 0 [2022-04-27 11:39:41,116 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 44 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable52 [2022-04-27 11:39:41,117 INFO L420 AbstractCegarLoop]: === Iteration 54 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:39:41,117 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:39:41,117 INFO L85 PathProgramCache]: Analyzing trace with hash -1142562995, now seen corresponding path program 44 times [2022-04-27 11:39:41,117 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:39:41,117 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1258378752] [2022-04-27 11:39:41,117 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:39:41,117 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:39:41,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:41,199 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:39:41,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:41,201 INFO L290 TraceCheckUtils]: 0: Hoare triple {64312#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {64267#true} is VALID [2022-04-27 11:39:41,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {64267#true} assume true; {64267#true} is VALID [2022-04-27 11:39:41,201 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {64267#true} {64267#true} #117#return; {64267#true} is VALID [2022-04-27 11:39:41,201 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:39:41,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:41,353 INFO L290 TraceCheckUtils]: 0: Hoare triple {64267#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:41,353 INFO L290 TraceCheckUtils]: 1: Hoare triple {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:41,353 INFO L290 TraceCheckUtils]: 2: Hoare triple {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:41,354 INFO L290 TraceCheckUtils]: 3: Hoare triple {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:41,354 INFO L290 TraceCheckUtils]: 4: Hoare triple {64313#(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; {64314#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:41,355 INFO L290 TraceCheckUtils]: 5: Hoare triple {64314#(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; {64315#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:39:41,355 INFO L290 TraceCheckUtils]: 6: Hoare triple {64315#(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; {64316#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:41,356 INFO L290 TraceCheckUtils]: 7: Hoare triple {64316#(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; {64317#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:39:41,356 INFO L290 TraceCheckUtils]: 8: Hoare triple {64317#(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; {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:39:41,356 INFO L290 TraceCheckUtils]: 9: Hoare triple {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:39:41,357 INFO L290 TraceCheckUtils]: 10: Hoare triple {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {64319#(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-27 11:39:41,357 INFO L290 TraceCheckUtils]: 11: Hoare triple {64319#(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; {64320#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 10) (<= 10 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:39:41,358 INFO L290 TraceCheckUtils]: 12: Hoare triple {64320#(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; {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:39:41,358 INFO L290 TraceCheckUtils]: 13: Hoare triple {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:39:41,359 INFO L290 TraceCheckUtils]: 14: Hoare triple {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:39:41,360 INFO L290 TraceCheckUtils]: 15: Hoare triple {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:39:41,360 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {64267#true} #111#return; {64289#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-27 11:39:41,360 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-27 11:39:41,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:41,511 INFO L290 TraceCheckUtils]: 0: Hoare triple {64267#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:41,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:41,511 INFO L290 TraceCheckUtils]: 2: Hoare triple {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:41,512 INFO L290 TraceCheckUtils]: 3: Hoare triple {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:41,512 INFO L290 TraceCheckUtils]: 4: Hoare triple {64323#(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; {64324#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:41,512 INFO L290 TraceCheckUtils]: 5: Hoare triple {64324#(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; {64325#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:39:41,513 INFO L290 TraceCheckUtils]: 6: Hoare triple {64325#(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; {64326#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:41,513 INFO L290 TraceCheckUtils]: 7: Hoare triple {64326#(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; {64327#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:39:41,513 INFO L290 TraceCheckUtils]: 8: Hoare triple {64327#(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; {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:39:41,514 INFO L290 TraceCheckUtils]: 9: Hoare triple {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:39:41,514 INFO L290 TraceCheckUtils]: 10: Hoare triple {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {64329#(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-27 11:39:41,514 INFO L290 TraceCheckUtils]: 11: Hoare triple {64329#(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; {64330#(and (<= 10 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 10))} is VALID [2022-04-27 11:39:41,515 INFO L290 TraceCheckUtils]: 12: Hoare triple {64330#(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; {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:39:41,515 INFO L290 TraceCheckUtils]: 13: Hoare triple {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:39:41,515 INFO L290 TraceCheckUtils]: 14: Hoare triple {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:39:41,516 INFO L290 TraceCheckUtils]: 15: Hoare triple {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:39:41,516 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {64290#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {64308#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:39:41,516 INFO L272 TraceCheckUtils]: 0: Hoare triple {64267#true} call ULTIMATE.init(); {64312#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:39:41,517 INFO L290 TraceCheckUtils]: 1: Hoare triple {64312#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {64267#true} is VALID [2022-04-27 11:39:41,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {64267#true} assume true; {64267#true} is VALID [2022-04-27 11:39:41,517 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {64267#true} {64267#true} #117#return; {64267#true} is VALID [2022-04-27 11:39:41,517 INFO L272 TraceCheckUtils]: 4: Hoare triple {64267#true} call #t~ret10 := main(); {64267#true} is VALID [2022-04-27 11:39:41,517 INFO L290 TraceCheckUtils]: 5: Hoare triple {64267#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {64267#true} is VALID [2022-04-27 11:39:41,517 INFO L290 TraceCheckUtils]: 6: Hoare triple {64267#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {64267#true} is VALID [2022-04-27 11:39:41,517 INFO L272 TraceCheckUtils]: 7: Hoare triple {64267#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {64267#true} is VALID [2022-04-27 11:39:41,517 INFO L290 TraceCheckUtils]: 8: Hoare triple {64267#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:41,517 INFO L290 TraceCheckUtils]: 9: Hoare triple {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:41,518 INFO L290 TraceCheckUtils]: 10: Hoare triple {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:41,518 INFO L290 TraceCheckUtils]: 11: Hoare triple {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:41,518 INFO L290 TraceCheckUtils]: 12: Hoare triple {64313#(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; {64314#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:41,519 INFO L290 TraceCheckUtils]: 13: Hoare triple {64314#(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; {64315#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:39:41,519 INFO L290 TraceCheckUtils]: 14: Hoare triple {64315#(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; {64316#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:41,519 INFO L290 TraceCheckUtils]: 15: Hoare triple {64316#(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; {64317#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:39:41,520 INFO L290 TraceCheckUtils]: 16: Hoare triple {64317#(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; {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:39:41,520 INFO L290 TraceCheckUtils]: 17: Hoare triple {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:39:41,520 INFO L290 TraceCheckUtils]: 18: Hoare triple {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {64319#(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-27 11:39:41,521 INFO L290 TraceCheckUtils]: 19: Hoare triple {64319#(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; {64320#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 10) (<= 10 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:39:41,521 INFO L290 TraceCheckUtils]: 20: Hoare triple {64320#(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; {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:39:41,521 INFO L290 TraceCheckUtils]: 21: Hoare triple {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:39:41,522 INFO L290 TraceCheckUtils]: 22: Hoare triple {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:39:41,522 INFO L290 TraceCheckUtils]: 23: Hoare triple {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:39:41,522 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {64267#true} #111#return; {64289#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-27 11:39:41,523 INFO L290 TraceCheckUtils]: 25: Hoare triple {64289#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {64290#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} is VALID [2022-04-27 11:39:41,523 INFO L272 TraceCheckUtils]: 26: Hoare triple {64290#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {64267#true} is VALID [2022-04-27 11:39:41,523 INFO L290 TraceCheckUtils]: 27: Hoare triple {64267#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:41,523 INFO L290 TraceCheckUtils]: 28: Hoare triple {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:41,523 INFO L290 TraceCheckUtils]: 29: Hoare triple {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:41,524 INFO L290 TraceCheckUtils]: 30: Hoare triple {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:41,524 INFO L290 TraceCheckUtils]: 31: Hoare triple {64323#(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; {64324#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:41,524 INFO L290 TraceCheckUtils]: 32: Hoare triple {64324#(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; {64325#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:39:41,525 INFO L290 TraceCheckUtils]: 33: Hoare triple {64325#(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; {64326#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:41,525 INFO L290 TraceCheckUtils]: 34: Hoare triple {64326#(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; {64327#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:39:41,525 INFO L290 TraceCheckUtils]: 35: Hoare triple {64327#(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; {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:39:41,526 INFO L290 TraceCheckUtils]: 36: Hoare triple {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:39:41,526 INFO L290 TraceCheckUtils]: 37: Hoare triple {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {64329#(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-27 11:39:41,526 INFO L290 TraceCheckUtils]: 38: Hoare triple {64329#(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; {64330#(and (<= 10 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 10))} is VALID [2022-04-27 11:39:41,527 INFO L290 TraceCheckUtils]: 39: Hoare triple {64330#(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; {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:39:41,527 INFO L290 TraceCheckUtils]: 40: Hoare triple {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:39:41,527 INFO L290 TraceCheckUtils]: 41: Hoare triple {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:39:41,528 INFO L290 TraceCheckUtils]: 42: Hoare triple {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:39:41,528 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {64290#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {64308#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:39:41,528 INFO L290 TraceCheckUtils]: 44: Hoare triple {64308#(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; {64309#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:39:41,529 INFO L272 TraceCheckUtils]: 45: Hoare triple {64309#(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)); {64310#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:39:41,529 INFO L290 TraceCheckUtils]: 46: Hoare triple {64310#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {64311#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:39:41,529 INFO L290 TraceCheckUtils]: 47: Hoare triple {64311#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {64268#false} is VALID [2022-04-27 11:39:41,529 INFO L290 TraceCheckUtils]: 48: Hoare triple {64268#false} assume !false; {64268#false} is VALID [2022-04-27 11:39:41,530 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-27 11:39:41,530 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:39:41,530 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1258378752] [2022-04-27 11:39:41,530 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1258378752] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:39:41,530 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2101689599] [2022-04-27 11:39:41,530 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:39:41,530 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:39:41,530 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:39:41,531 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-27 11:39:41,532 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-27 11:39:41,598 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:39:41,598 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:39:41,599 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-27 11:39:41,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:41,605 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:39:42,023 INFO L272 TraceCheckUtils]: 0: Hoare triple {64267#true} call ULTIMATE.init(); {64267#true} is VALID [2022-04-27 11:39:42,023 INFO L290 TraceCheckUtils]: 1: Hoare triple {64267#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {64267#true} is VALID [2022-04-27 11:39:42,023 INFO L290 TraceCheckUtils]: 2: Hoare triple {64267#true} assume true; {64267#true} is VALID [2022-04-27 11:39:42,023 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {64267#true} {64267#true} #117#return; {64267#true} is VALID [2022-04-27 11:39:42,023 INFO L272 TraceCheckUtils]: 4: Hoare triple {64267#true} call #t~ret10 := main(); {64267#true} is VALID [2022-04-27 11:39:42,023 INFO L290 TraceCheckUtils]: 5: Hoare triple {64267#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {64267#true} is VALID [2022-04-27 11:39:42,023 INFO L290 TraceCheckUtils]: 6: Hoare triple {64267#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {64267#true} is VALID [2022-04-27 11:39:42,023 INFO L272 TraceCheckUtils]: 7: Hoare triple {64267#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {64267#true} is VALID [2022-04-27 11:39:42,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {64267#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:42,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:42,024 INFO L290 TraceCheckUtils]: 10: Hoare triple {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:42,024 INFO L290 TraceCheckUtils]: 11: Hoare triple {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:42,025 INFO L290 TraceCheckUtils]: 12: Hoare triple {64313#(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; {64314#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:42,025 INFO L290 TraceCheckUtils]: 13: Hoare triple {64314#(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; {64315#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:39:42,025 INFO L290 TraceCheckUtils]: 14: Hoare triple {64315#(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; {64316#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:42,026 INFO L290 TraceCheckUtils]: 15: Hoare triple {64316#(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; {64317#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:39:42,026 INFO L290 TraceCheckUtils]: 16: Hoare triple {64317#(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; {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:39:42,026 INFO L290 TraceCheckUtils]: 17: Hoare triple {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:39:42,026 INFO L290 TraceCheckUtils]: 18: Hoare triple {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {64390#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 0))} is VALID [2022-04-27 11:39:42,027 INFO L290 TraceCheckUtils]: 19: Hoare triple {64390#(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; {64394#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0))} is VALID [2022-04-27 11:39:42,028 INFO L290 TraceCheckUtils]: 20: Hoare triple {64394#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:39:42,028 INFO L290 TraceCheckUtils]: 21: Hoare triple {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:39:42,028 INFO L290 TraceCheckUtils]: 22: Hoare triple {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:39:42,029 INFO L290 TraceCheckUtils]: 23: Hoare triple {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:39:42,029 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {64267#true} #111#return; {64289#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-27 11:39:42,029 INFO L290 TraceCheckUtils]: 25: Hoare triple {64289#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {64290#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} is VALID [2022-04-27 11:39:42,029 INFO L272 TraceCheckUtils]: 26: Hoare triple {64290#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {64267#true} is VALID [2022-04-27 11:39:42,030 INFO L290 TraceCheckUtils]: 27: Hoare triple {64267#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:42,030 INFO L290 TraceCheckUtils]: 28: Hoare triple {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:42,030 INFO L290 TraceCheckUtils]: 29: Hoare triple {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:42,030 INFO L290 TraceCheckUtils]: 30: Hoare triple {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:42,031 INFO L290 TraceCheckUtils]: 31: Hoare triple {64323#(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; {64324#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:42,031 INFO L290 TraceCheckUtils]: 32: Hoare triple {64324#(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; {64325#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:39:42,031 INFO L290 TraceCheckUtils]: 33: Hoare triple {64325#(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; {64326#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:42,032 INFO L290 TraceCheckUtils]: 34: Hoare triple {64326#(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; {64327#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:39:42,032 INFO L290 TraceCheckUtils]: 35: Hoare triple {64327#(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; {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:39:42,032 INFO L290 TraceCheckUtils]: 36: Hoare triple {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:39:42,032 INFO L290 TraceCheckUtils]: 37: Hoare triple {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {64449#(and (<= student_version_~j~1 5) (= student_version_~y~1 0) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:39:42,033 INFO L290 TraceCheckUtils]: 38: Hoare triple {64449#(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; {64453#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} is VALID [2022-04-27 11:39:42,033 INFO L290 TraceCheckUtils]: 39: Hoare triple {64453#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:39:42,033 INFO L290 TraceCheckUtils]: 40: Hoare triple {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:39:42,033 INFO L290 TraceCheckUtils]: 41: Hoare triple {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:39:42,034 INFO L290 TraceCheckUtils]: 42: Hoare triple {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:39:42,034 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {64290#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {64469#(and (<= 10 main_~n_stones1~0) (<= 10 |main_#t~ret9|) (<= main_~n_stones1~0 10) (<= |main_#t~ret9| 10))} is VALID [2022-04-27 11:39:42,034 INFO L290 TraceCheckUtils]: 44: Hoare triple {64469#(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; {64473#(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-27 11:39:42,035 INFO L272 TraceCheckUtils]: 45: Hoare triple {64473#(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)); {64477#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:39:42,035 INFO L290 TraceCheckUtils]: 46: Hoare triple {64477#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {64481#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:39:42,035 INFO L290 TraceCheckUtils]: 47: Hoare triple {64481#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {64268#false} is VALID [2022-04-27 11:39:42,035 INFO L290 TraceCheckUtils]: 48: Hoare triple {64268#false} assume !false; {64268#false} is VALID [2022-04-27 11:39:42,036 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-27 11:39:42,036 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:39:42,505 INFO L290 TraceCheckUtils]: 48: Hoare triple {64268#false} assume !false; {64268#false} is VALID [2022-04-27 11:39:42,505 INFO L290 TraceCheckUtils]: 47: Hoare triple {64481#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {64268#false} is VALID [2022-04-27 11:39:42,505 INFO L290 TraceCheckUtils]: 46: Hoare triple {64477#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {64481#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:39:42,506 INFO L272 TraceCheckUtils]: 45: Hoare triple {64309#(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)); {64477#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:39:42,506 INFO L290 TraceCheckUtils]: 44: Hoare triple {64308#(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; {64309#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:39:42,507 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {64290#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {64308#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:39:42,508 INFO L290 TraceCheckUtils]: 42: Hoare triple {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:39:42,508 INFO L290 TraceCheckUtils]: 41: Hoare triple {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {64332#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:39:42,508 INFO L290 TraceCheckUtils]: 40: Hoare triple {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:39:42,509 INFO L290 TraceCheckUtils]: 39: Hoare triple {64330#(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; {64331#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:39:42,509 INFO L290 TraceCheckUtils]: 38: Hoare triple {64329#(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; {64330#(and (<= 10 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 10))} is VALID [2022-04-27 11:39:42,509 INFO L290 TraceCheckUtils]: 37: Hoare triple {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {64329#(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-27 11:39:42,510 INFO L290 TraceCheckUtils]: 36: Hoare triple {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:39:42,510 INFO L290 TraceCheckUtils]: 35: Hoare triple {64327#(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; {64328#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:39:42,511 INFO L290 TraceCheckUtils]: 34: Hoare triple {64326#(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; {64327#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:39:42,511 INFO L290 TraceCheckUtils]: 33: Hoare triple {64325#(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; {64326#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:42,512 INFO L290 TraceCheckUtils]: 32: Hoare triple {64324#(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; {64325#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:39:42,512 INFO L290 TraceCheckUtils]: 31: Hoare triple {64323#(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; {64324#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:42,512 INFO L290 TraceCheckUtils]: 30: Hoare triple {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:42,513 INFO L290 TraceCheckUtils]: 29: Hoare triple {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:42,513 INFO L290 TraceCheckUtils]: 28: Hoare triple {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:42,513 INFO L290 TraceCheckUtils]: 27: Hoare triple {64267#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {64323#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:42,513 INFO L272 TraceCheckUtils]: 26: Hoare triple {64290#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {64267#true} is VALID [2022-04-27 11:39:42,514 INFO L290 TraceCheckUtils]: 25: Hoare triple {64289#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {64290#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} is VALID [2022-04-27 11:39:42,514 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {64267#true} #111#return; {64289#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-27 11:39:42,515 INFO L290 TraceCheckUtils]: 23: Hoare triple {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:39:42,515 INFO L290 TraceCheckUtils]: 22: Hoare triple {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {64322#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:39:42,515 INFO L290 TraceCheckUtils]: 21: Hoare triple {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:39:42,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {64320#(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; {64321#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:39:42,516 INFO L290 TraceCheckUtils]: 19: Hoare triple {64319#(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; {64320#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 10) (<= 10 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:39:42,517 INFO L290 TraceCheckUtils]: 18: Hoare triple {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {64319#(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-27 11:39:42,517 INFO L290 TraceCheckUtils]: 17: Hoare triple {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:39:42,517 INFO L290 TraceCheckUtils]: 16: Hoare triple {64317#(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; {64318#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:39:42,518 INFO L290 TraceCheckUtils]: 15: Hoare triple {64316#(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; {64317#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:39:42,518 INFO L290 TraceCheckUtils]: 14: Hoare triple {64315#(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; {64316#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:42,519 INFO L290 TraceCheckUtils]: 13: Hoare triple {64314#(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; {64315#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:39:42,519 INFO L290 TraceCheckUtils]: 12: Hoare triple {64313#(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; {64314#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:42,520 INFO L290 TraceCheckUtils]: 11: Hoare triple {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:42,520 INFO L290 TraceCheckUtils]: 10: Hoare triple {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:42,520 INFO L290 TraceCheckUtils]: 9: Hoare triple {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:42,521 INFO L290 TraceCheckUtils]: 8: Hoare triple {64267#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {64313#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:42,521 INFO L272 TraceCheckUtils]: 7: Hoare triple {64267#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {64267#true} is VALID [2022-04-27 11:39:42,521 INFO L290 TraceCheckUtils]: 6: Hoare triple {64267#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {64267#true} is VALID [2022-04-27 11:39:42,521 INFO L290 TraceCheckUtils]: 5: Hoare triple {64267#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {64267#true} is VALID [2022-04-27 11:39:42,521 INFO L272 TraceCheckUtils]: 4: Hoare triple {64267#true} call #t~ret10 := main(); {64267#true} is VALID [2022-04-27 11:39:42,521 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {64267#true} {64267#true} #117#return; {64267#true} is VALID [2022-04-27 11:39:42,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {64267#true} assume true; {64267#true} is VALID [2022-04-27 11:39:42,521 INFO L290 TraceCheckUtils]: 1: Hoare triple {64267#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {64267#true} is VALID [2022-04-27 11:39:42,521 INFO L272 TraceCheckUtils]: 0: Hoare triple {64267#true} call ULTIMATE.init(); {64267#true} is VALID [2022-04-27 11:39:42,521 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-27 11:39:42,521 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2101689599] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:39:42,521 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:39:42,522 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 37 [2022-04-27 11:39:42,522 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1928417357] [2022-04-27 11:39:42,522 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:39:42,522 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 49 [2022-04-27 11:39:42,522 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:39:42,522 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:42,559 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-27 11:39:42,559 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 37 states [2022-04-27 11:39:42,559 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:39:42,559 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-04-27 11:39:42,559 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=1247, Unknown=0, NotChecked=0, Total=1332 [2022-04-27 11:39:42,559 INFO L87 Difference]: Start difference. First operand 398 states and 454 transitions. Second operand has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:47,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:47,510 INFO L93 Difference]: Finished difference Result 404 states and 459 transitions. [2022-04-27 11:39:47,510 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-27 11:39:47,511 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 49 [2022-04-27 11:39:47,511 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:39:47,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:47,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 140 transitions. [2022-04-27 11:39:47,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:47,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 140 transitions. [2022-04-27 11:39:47,513 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 140 transitions. [2022-04-27 11:39:47,581 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-27 11:39:47,588 INFO L225 Difference]: With dead ends: 404 [2022-04-27 11:39:47,588 INFO L226 Difference]: Without dead ends: 382 [2022-04-27 11:39:47,590 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 157 GetRequests, 86 SyntacticMatches, 9 SemanticMatches, 62 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 606 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=231, Invalid=3801, Unknown=0, NotChecked=0, Total=4032 [2022-04-27 11:39:47,590 INFO L413 NwaCegarLoop]: 74 mSDtfsCounter, 134 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 3297 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 137 SdHoareTripleChecker+Valid, 226 SdHoareTripleChecker+Invalid, 3328 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 3297 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-27 11:39:47,590 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [137 Valid, 226 Invalid, 3328 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 3297 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-27 11:39:47,591 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 382 states. [2022-04-27 11:39:49,402 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 382 to 382. [2022-04-27 11:39:49,402 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:39:49,402 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-27 11:39:49,402 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-27 11:39:49,403 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-27 11:39:49,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:49,408 INFO L93 Difference]: Finished difference Result 382 states and 436 transitions. [2022-04-27 11:39:49,408 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 436 transitions. [2022-04-27 11:39:49,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:39:49,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:39:49,410 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-27 11:39:49,410 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-27 11:39:49,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:49,415 INFO L93 Difference]: Finished difference Result 382 states and 436 transitions. [2022-04-27 11:39:49,415 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 436 transitions. [2022-04-27 11:39:49,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:39:49,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:39:49,416 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:39:49,416 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:39:49,417 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-27 11:39:49,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 382 states to 382 states and 436 transitions. [2022-04-27 11:39:49,424 INFO L78 Accepts]: Start accepts. Automaton has 382 states and 436 transitions. Word has length 49 [2022-04-27 11:39:49,424 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:39:49,424 INFO L495 AbstractCegarLoop]: Abstraction has 382 states and 436 transitions. [2022-04-27 11:39:49,424 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:49,424 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 436 transitions. [2022-04-27 11:39:49,425 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-27 11:39:49,425 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:39:49,426 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:39:49,441 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-27 11:39:49,628 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable53,45 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:39:49,628 INFO L420 AbstractCegarLoop]: === Iteration 55 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:39:49,628 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:39:49,628 INFO L85 PathProgramCache]: Analyzing trace with hash 690493581, now seen corresponding path program 45 times [2022-04-27 11:39:49,629 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:39:49,629 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1855859949] [2022-04-27 11:39:49,629 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:39:49,629 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:39:49,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:49,681 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:39:49,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:49,684 INFO L290 TraceCheckUtils]: 0: Hoare triple {66623#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {66578#true} is VALID [2022-04-27 11:39:49,684 INFO L290 TraceCheckUtils]: 1: Hoare triple {66578#true} assume true; {66578#true} is VALID [2022-04-27 11:39:49,684 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66578#true} {66578#true} #117#return; {66578#true} is VALID [2022-04-27 11:39:49,684 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:39:49,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:49,841 INFO L290 TraceCheckUtils]: 0: Hoare triple {66578#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:49,841 INFO L290 TraceCheckUtils]: 1: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:49,842 INFO L290 TraceCheckUtils]: 2: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:49,842 INFO L290 TraceCheckUtils]: 3: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:49,842 INFO L290 TraceCheckUtils]: 4: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:49,843 INFO L290 TraceCheckUtils]: 5: Hoare triple {66624#(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; {66625#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:49,843 INFO L290 TraceCheckUtils]: 6: Hoare triple {66625#(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; {66626#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:39:49,844 INFO L290 TraceCheckUtils]: 7: Hoare triple {66626#(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; {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:49,844 INFO L290 TraceCheckUtils]: 8: Hoare triple {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:49,844 INFO L290 TraceCheckUtils]: 9: Hoare triple {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {66628#(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-27 11:39:49,845 INFO L290 TraceCheckUtils]: 10: Hoare triple {66628#(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; {66629#(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-27 11:39:49,845 INFO L290 TraceCheckUtils]: 11: Hoare triple {66629#(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; {66630#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} is VALID [2022-04-27 11:39:49,846 INFO L290 TraceCheckUtils]: 12: Hoare triple {66630#(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; {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:39:49,846 INFO L290 TraceCheckUtils]: 13: Hoare triple {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:39:49,847 INFO L290 TraceCheckUtils]: 14: Hoare triple {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:39:49,847 INFO L290 TraceCheckUtils]: 15: Hoare triple {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:39:49,848 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {66578#true} #111#return; {66600#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-27 11:39:49,848 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-27 11:39:49,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:49,983 INFO L290 TraceCheckUtils]: 0: Hoare triple {66578#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:49,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:49,984 INFO L290 TraceCheckUtils]: 2: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:49,984 INFO L290 TraceCheckUtils]: 3: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:49,984 INFO L290 TraceCheckUtils]: 4: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:49,985 INFO L290 TraceCheckUtils]: 5: Hoare triple {66633#(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; {66634#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:49,985 INFO L290 TraceCheckUtils]: 6: Hoare triple {66634#(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; {66635#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:39:49,986 INFO L290 TraceCheckUtils]: 7: Hoare triple {66635#(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; {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:49,986 INFO L290 TraceCheckUtils]: 8: Hoare triple {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:49,986 INFO L290 TraceCheckUtils]: 9: Hoare triple {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {66637#(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-27 11:39:49,987 INFO L290 TraceCheckUtils]: 10: Hoare triple {66637#(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; {66638#(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-27 11:39:49,987 INFO L290 TraceCheckUtils]: 11: Hoare triple {66638#(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; {66639#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:39:49,987 INFO L290 TraceCheckUtils]: 12: Hoare triple {66639#(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; {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:39:49,988 INFO L290 TraceCheckUtils]: 13: Hoare triple {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:39:49,988 INFO L290 TraceCheckUtils]: 14: Hoare triple {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:39:49,988 INFO L290 TraceCheckUtils]: 15: Hoare triple {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:39:49,989 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {66601#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {66619#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:39:49,989 INFO L272 TraceCheckUtils]: 0: Hoare triple {66578#true} call ULTIMATE.init(); {66623#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:39:49,989 INFO L290 TraceCheckUtils]: 1: Hoare triple {66623#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {66578#true} is VALID [2022-04-27 11:39:49,989 INFO L290 TraceCheckUtils]: 2: Hoare triple {66578#true} assume true; {66578#true} is VALID [2022-04-27 11:39:49,989 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66578#true} {66578#true} #117#return; {66578#true} is VALID [2022-04-27 11:39:49,989 INFO L272 TraceCheckUtils]: 4: Hoare triple {66578#true} call #t~ret10 := main(); {66578#true} is VALID [2022-04-27 11:39:49,989 INFO L290 TraceCheckUtils]: 5: Hoare triple {66578#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {66578#true} is VALID [2022-04-27 11:39:49,989 INFO L290 TraceCheckUtils]: 6: Hoare triple {66578#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {66578#true} is VALID [2022-04-27 11:39:49,989 INFO L272 TraceCheckUtils]: 7: Hoare triple {66578#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {66578#true} is VALID [2022-04-27 11:39:49,990 INFO L290 TraceCheckUtils]: 8: Hoare triple {66578#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:49,990 INFO L290 TraceCheckUtils]: 9: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:49,990 INFO L290 TraceCheckUtils]: 10: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:49,991 INFO L290 TraceCheckUtils]: 11: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:49,991 INFO L290 TraceCheckUtils]: 12: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:49,991 INFO L290 TraceCheckUtils]: 13: Hoare triple {66624#(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; {66625#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:49,992 INFO L290 TraceCheckUtils]: 14: Hoare triple {66625#(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; {66626#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:39:49,992 INFO L290 TraceCheckUtils]: 15: Hoare triple {66626#(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; {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:49,992 INFO L290 TraceCheckUtils]: 16: Hoare triple {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:49,992 INFO L290 TraceCheckUtils]: 17: Hoare triple {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {66628#(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-27 11:39:49,993 INFO L290 TraceCheckUtils]: 18: Hoare triple {66628#(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; {66629#(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-27 11:39:49,993 INFO L290 TraceCheckUtils]: 19: Hoare triple {66629#(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; {66630#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} is VALID [2022-04-27 11:39:49,994 INFO L290 TraceCheckUtils]: 20: Hoare triple {66630#(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; {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:39:49,994 INFO L290 TraceCheckUtils]: 21: Hoare triple {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:39:49,994 INFO L290 TraceCheckUtils]: 22: Hoare triple {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:39:49,994 INFO L290 TraceCheckUtils]: 23: Hoare triple {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:39:49,995 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {66578#true} #111#return; {66600#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-27 11:39:49,995 INFO L290 TraceCheckUtils]: 25: Hoare triple {66600#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {66601#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} is VALID [2022-04-27 11:39:49,995 INFO L272 TraceCheckUtils]: 26: Hoare triple {66601#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {66578#true} is VALID [2022-04-27 11:39:49,995 INFO L290 TraceCheckUtils]: 27: Hoare triple {66578#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:49,996 INFO L290 TraceCheckUtils]: 28: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:49,996 INFO L290 TraceCheckUtils]: 29: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:49,996 INFO L290 TraceCheckUtils]: 30: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:49,997 INFO L290 TraceCheckUtils]: 31: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:49,997 INFO L290 TraceCheckUtils]: 32: Hoare triple {66633#(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; {66634#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:49,997 INFO L290 TraceCheckUtils]: 33: Hoare triple {66634#(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; {66635#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:39:49,998 INFO L290 TraceCheckUtils]: 34: Hoare triple {66635#(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; {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:49,998 INFO L290 TraceCheckUtils]: 35: Hoare triple {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:49,998 INFO L290 TraceCheckUtils]: 36: Hoare triple {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {66637#(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-27 11:39:49,999 INFO L290 TraceCheckUtils]: 37: Hoare triple {66637#(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; {66638#(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-27 11:39:49,999 INFO L290 TraceCheckUtils]: 38: Hoare triple {66638#(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; {66639#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:39:49,999 INFO L290 TraceCheckUtils]: 39: Hoare triple {66639#(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; {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:39:50,000 INFO L290 TraceCheckUtils]: 40: Hoare triple {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:39:50,000 INFO L290 TraceCheckUtils]: 41: Hoare triple {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:39:50,000 INFO L290 TraceCheckUtils]: 42: Hoare triple {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:39:50,001 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {66601#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {66619#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:39:50,001 INFO L290 TraceCheckUtils]: 44: Hoare triple {66619#(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; {66620#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:39:50,001 INFO L272 TraceCheckUtils]: 45: Hoare triple {66620#(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)); {66621#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:39:50,002 INFO L290 TraceCheckUtils]: 46: Hoare triple {66621#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {66622#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:39:50,002 INFO L290 TraceCheckUtils]: 47: Hoare triple {66622#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {66579#false} is VALID [2022-04-27 11:39:50,002 INFO L290 TraceCheckUtils]: 48: Hoare triple {66579#false} assume !false; {66579#false} is VALID [2022-04-27 11:39:50,002 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-27 11:39:50,002 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:39:50,002 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1855859949] [2022-04-27 11:39:50,002 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1855859949] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:39:50,002 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1995307246] [2022-04-27 11:39:50,003 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:39:50,003 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:39:50,003 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:39:50,004 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-27 11:39:50,008 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-27 11:39:50,075 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-27 11:39:50,076 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:39:50,077 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-27 11:39:50,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:50,083 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:39:50,689 INFO L272 TraceCheckUtils]: 0: Hoare triple {66578#true} call ULTIMATE.init(); {66578#true} is VALID [2022-04-27 11:39:50,690 INFO L290 TraceCheckUtils]: 1: Hoare triple {66578#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {66578#true} is VALID [2022-04-27 11:39:50,690 INFO L290 TraceCheckUtils]: 2: Hoare triple {66578#true} assume true; {66578#true} is VALID [2022-04-27 11:39:50,690 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66578#true} {66578#true} #117#return; {66578#true} is VALID [2022-04-27 11:39:50,690 INFO L272 TraceCheckUtils]: 4: Hoare triple {66578#true} call #t~ret10 := main(); {66578#true} is VALID [2022-04-27 11:39:50,690 INFO L290 TraceCheckUtils]: 5: Hoare triple {66578#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {66578#true} is VALID [2022-04-27 11:39:50,690 INFO L290 TraceCheckUtils]: 6: Hoare triple {66578#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {66578#true} is VALID [2022-04-27 11:39:50,690 INFO L272 TraceCheckUtils]: 7: Hoare triple {66578#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {66578#true} is VALID [2022-04-27 11:39:50,690 INFO L290 TraceCheckUtils]: 8: Hoare triple {66578#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:50,691 INFO L290 TraceCheckUtils]: 9: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:50,691 INFO L290 TraceCheckUtils]: 10: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:50,691 INFO L290 TraceCheckUtils]: 11: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:50,692 INFO L290 TraceCheckUtils]: 12: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:50,692 INFO L290 TraceCheckUtils]: 13: Hoare triple {66624#(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; {66625#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:50,692 INFO L290 TraceCheckUtils]: 14: Hoare triple {66625#(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; {66626#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:39:50,693 INFO L290 TraceCheckUtils]: 15: Hoare triple {66626#(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; {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:50,693 INFO L290 TraceCheckUtils]: 16: Hoare triple {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:50,694 INFO L290 TraceCheckUtils]: 17: Hoare triple {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {66696#(and (<= 3 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:50,694 INFO L290 TraceCheckUtils]: 18: Hoare triple {66696#(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; {66700#(and (= correct_version_~j~0 correct_version_~y~0) (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:50,694 INFO L290 TraceCheckUtils]: 19: Hoare triple {66700#(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; {66704#(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-27 11:39:50,695 INFO L290 TraceCheckUtils]: 20: Hoare triple {66704#(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; {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:39:50,695 INFO L290 TraceCheckUtils]: 21: Hoare triple {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:39:50,696 INFO L290 TraceCheckUtils]: 22: Hoare triple {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:39:50,696 INFO L290 TraceCheckUtils]: 23: Hoare triple {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:39:50,697 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {66578#true} #111#return; {66600#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-27 11:39:50,697 INFO L290 TraceCheckUtils]: 25: Hoare triple {66600#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {66601#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} is VALID [2022-04-27 11:39:50,697 INFO L272 TraceCheckUtils]: 26: Hoare triple {66601#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {66578#true} is VALID [2022-04-27 11:39:50,697 INFO L290 TraceCheckUtils]: 27: Hoare triple {66578#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:50,698 INFO L290 TraceCheckUtils]: 28: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:50,698 INFO L290 TraceCheckUtils]: 29: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:50,698 INFO L290 TraceCheckUtils]: 30: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:50,699 INFO L290 TraceCheckUtils]: 31: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:50,699 INFO L290 TraceCheckUtils]: 32: Hoare triple {66633#(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; {66634#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:50,700 INFO L290 TraceCheckUtils]: 33: Hoare triple {66634#(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; {66635#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:39:50,700 INFO L290 TraceCheckUtils]: 34: Hoare triple {66635#(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; {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:50,700 INFO L290 TraceCheckUtils]: 35: Hoare triple {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:50,701 INFO L290 TraceCheckUtils]: 36: Hoare triple {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {66756#(and (= student_version_~y~1 0) (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:50,701 INFO L290 TraceCheckUtils]: 37: Hoare triple {66756#(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; {66760#(and (<= student_version_~j~1 3) (= student_version_~j~1 student_version_~y~1) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:50,702 INFO L290 TraceCheckUtils]: 38: Hoare triple {66760#(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; {66764#(and (<= student_version_~j~1 3) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) student_version_~j~1) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:50,702 INFO L290 TraceCheckUtils]: 39: Hoare triple {66764#(and (<= student_version_~j~1 3) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) student_version_~j~1) (<= 3 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:39:50,702 INFO L290 TraceCheckUtils]: 40: Hoare triple {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:39:50,703 INFO L290 TraceCheckUtils]: 41: Hoare triple {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:39:50,703 INFO L290 TraceCheckUtils]: 42: Hoare triple {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:39:50,704 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {66601#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {66780#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9) (<= |main_#t~ret9| 9) (<= 9 |main_#t~ret9|))} is VALID [2022-04-27 11:39:50,704 INFO L290 TraceCheckUtils]: 44: Hoare triple {66780#(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; {66784#(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-27 11:39:50,705 INFO L272 TraceCheckUtils]: 45: Hoare triple {66784#(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)); {66788#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:39:50,705 INFO L290 TraceCheckUtils]: 46: Hoare triple {66788#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {66792#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:39:50,705 INFO L290 TraceCheckUtils]: 47: Hoare triple {66792#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {66579#false} is VALID [2022-04-27 11:39:50,705 INFO L290 TraceCheckUtils]: 48: Hoare triple {66579#false} assume !false; {66579#false} is VALID [2022-04-27 11:39:50,705 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-27 11:39:50,705 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:39:51,041 INFO L290 TraceCheckUtils]: 48: Hoare triple {66579#false} assume !false; {66579#false} is VALID [2022-04-27 11:39:51,041 INFO L290 TraceCheckUtils]: 47: Hoare triple {66792#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {66579#false} is VALID [2022-04-27 11:39:51,042 INFO L290 TraceCheckUtils]: 46: Hoare triple {66788#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {66792#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:39:51,042 INFO L272 TraceCheckUtils]: 45: Hoare triple {66620#(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)); {66788#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:39:51,042 INFO L290 TraceCheckUtils]: 44: Hoare triple {66619#(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; {66620#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:39:51,043 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {66601#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {66619#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:39:51,043 INFO L290 TraceCheckUtils]: 42: Hoare triple {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:39:51,043 INFO L290 TraceCheckUtils]: 41: Hoare triple {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {66641#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:39:51,044 INFO L290 TraceCheckUtils]: 40: Hoare triple {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:39:51,044 INFO L290 TraceCheckUtils]: 39: Hoare triple {66639#(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; {66640#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:39:51,044 INFO L290 TraceCheckUtils]: 38: Hoare triple {66638#(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; {66639#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:39:51,045 INFO L290 TraceCheckUtils]: 37: Hoare triple {66637#(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; {66638#(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-27 11:39:51,045 INFO L290 TraceCheckUtils]: 36: Hoare triple {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {66637#(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-27 11:39:51,045 INFO L290 TraceCheckUtils]: 35: Hoare triple {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:51,046 INFO L290 TraceCheckUtils]: 34: Hoare triple {66635#(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; {66636#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:39:51,046 INFO L290 TraceCheckUtils]: 33: Hoare triple {66634#(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; {66635#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:39:51,046 INFO L290 TraceCheckUtils]: 32: Hoare triple {66633#(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; {66634#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:51,046 INFO L290 TraceCheckUtils]: 31: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:51,047 INFO L290 TraceCheckUtils]: 30: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:51,047 INFO L290 TraceCheckUtils]: 29: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:51,047 INFO L290 TraceCheckUtils]: 28: Hoare triple {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:51,047 INFO L290 TraceCheckUtils]: 27: Hoare triple {66578#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {66633#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:51,048 INFO L272 TraceCheckUtils]: 26: Hoare triple {66601#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {66578#true} is VALID [2022-04-27 11:39:51,048 INFO L290 TraceCheckUtils]: 25: Hoare triple {66600#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {66601#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} is VALID [2022-04-27 11:39:51,048 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {66578#true} #111#return; {66600#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-27 11:39:51,048 INFO L290 TraceCheckUtils]: 23: Hoare triple {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:39:51,049 INFO L290 TraceCheckUtils]: 22: Hoare triple {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {66632#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:39:51,049 INFO L290 TraceCheckUtils]: 21: Hoare triple {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:39:51,049 INFO L290 TraceCheckUtils]: 20: Hoare triple {66630#(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; {66631#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:39:51,050 INFO L290 TraceCheckUtils]: 19: Hoare triple {66629#(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; {66630#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} is VALID [2022-04-27 11:39:51,050 INFO L290 TraceCheckUtils]: 18: Hoare triple {66628#(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; {66629#(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-27 11:39:51,050 INFO L290 TraceCheckUtils]: 17: Hoare triple {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {66628#(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-27 11:39:51,050 INFO L290 TraceCheckUtils]: 16: Hoare triple {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:51,051 INFO L290 TraceCheckUtils]: 15: Hoare triple {66626#(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; {66627#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:39:51,051 INFO L290 TraceCheckUtils]: 14: Hoare triple {66625#(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; {66626#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:39:51,051 INFO L290 TraceCheckUtils]: 13: Hoare triple {66624#(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; {66625#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:51,052 INFO L290 TraceCheckUtils]: 12: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:51,052 INFO L290 TraceCheckUtils]: 11: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:51,052 INFO L290 TraceCheckUtils]: 10: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:51,052 INFO L290 TraceCheckUtils]: 9: Hoare triple {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:51,053 INFO L290 TraceCheckUtils]: 8: Hoare triple {66578#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {66624#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:51,053 INFO L272 TraceCheckUtils]: 7: Hoare triple {66578#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {66578#true} is VALID [2022-04-27 11:39:51,053 INFO L290 TraceCheckUtils]: 6: Hoare triple {66578#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {66578#true} is VALID [2022-04-27 11:39:51,053 INFO L290 TraceCheckUtils]: 5: Hoare triple {66578#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {66578#true} is VALID [2022-04-27 11:39:51,053 INFO L272 TraceCheckUtils]: 4: Hoare triple {66578#true} call #t~ret10 := main(); {66578#true} is VALID [2022-04-27 11:39:51,053 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66578#true} {66578#true} #117#return; {66578#true} is VALID [2022-04-27 11:39:51,053 INFO L290 TraceCheckUtils]: 2: Hoare triple {66578#true} assume true; {66578#true} is VALID [2022-04-27 11:39:51,053 INFO L290 TraceCheckUtils]: 1: Hoare triple {66578#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {66578#true} is VALID [2022-04-27 11:39:51,053 INFO L272 TraceCheckUtils]: 0: Hoare triple {66578#true} call ULTIMATE.init(); {66578#true} is VALID [2022-04-27 11:39:51,053 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-27 11:39:51,053 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1995307246] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:39:51,053 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:39:51,053 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 37 [2022-04-27 11:39:51,054 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1141716132] [2022-04-27 11:39:51,054 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:39:51,054 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 49 [2022-04-27 11:39:51,054 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:39:51,054 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:51,078 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-27 11:39:51,078 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 37 states [2022-04-27 11:39:51,078 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:39:51,078 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-04-27 11:39:51,078 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=1243, Unknown=0, NotChecked=0, Total=1332 [2022-04-27 11:39:51,078 INFO L87 Difference]: Start difference. First operand 382 states and 436 transitions. Second operand has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:56,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:56,298 INFO L93 Difference]: Finished difference Result 388 states and 441 transitions. [2022-04-27 11:39:56,298 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-27 11:39:56,298 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 49 [2022-04-27 11:39:56,299 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:39:56,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:56,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 110 transitions. [2022-04-27 11:39:56,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:56,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 110 transitions. [2022-04-27 11:39:56,300 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 110 transitions. [2022-04-27 11:39:56,375 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-27 11:39:56,381 INFO L225 Difference]: With dead ends: 388 [2022-04-27 11:39:56,381 INFO L226 Difference]: Without dead ends: 364 [2022-04-27 11:39:56,383 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 84 SyntacticMatches, 9 SemanticMatches, 60 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 611 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=233, Invalid=3549, Unknown=0, NotChecked=0, Total=3782 [2022-04-27 11:39:56,383 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 95 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 2269 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 97 SdHoareTripleChecker+Valid, 196 SdHoareTripleChecker+Invalid, 2299 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 2269 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-27 11:39:56,383 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [97 Valid, 196 Invalid, 2299 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 2269 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-27 11:39:56,384 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 364 states. [2022-04-27 11:39:57,904 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 364 to 364. [2022-04-27 11:39:57,904 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:39:57,904 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-27 11:39:57,904 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-27 11:39:57,905 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-27 11:39:57,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:57,911 INFO L93 Difference]: Finished difference Result 364 states and 416 transitions. [2022-04-27 11:39:57,911 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 416 transitions. [2022-04-27 11:39:57,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:39:57,912 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:39:57,912 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-27 11:39:57,912 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-27 11:39:57,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:39:57,917 INFO L93 Difference]: Finished difference Result 364 states and 416 transitions. [2022-04-27 11:39:57,917 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 416 transitions. [2022-04-27 11:39:57,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:39:57,918 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:39:57,918 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:39:57,918 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:39:57,918 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-27 11:39:57,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 364 states to 364 states and 416 transitions. [2022-04-27 11:39:57,925 INFO L78 Accepts]: Start accepts. Automaton has 364 states and 416 transitions. Word has length 49 [2022-04-27 11:39:57,925 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:39:57,925 INFO L495 AbstractCegarLoop]: Abstraction has 364 states and 416 transitions. [2022-04-27 11:39:57,925 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:57,925 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 416 transitions. [2022-04-27 11:39:57,926 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-27 11:39:57,926 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:39:57,926 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:39:57,942 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (46)] Ended with exit code 0 [2022-04-27 11:39:58,133 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 46 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable54 [2022-04-27 11:39:58,133 INFO L420 AbstractCegarLoop]: === Iteration 56 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:39:58,133 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:39:58,133 INFO L85 PathProgramCache]: Analyzing trace with hash 375234381, now seen corresponding path program 46 times [2022-04-27 11:39:58,133 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:39:58,133 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [236313193] [2022-04-27 11:39:58,133 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:39:58,133 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:39:58,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:58,213 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:39:58,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:58,215 INFO L290 TraceCheckUtils]: 0: Hoare triple {68844#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {68799#true} is VALID [2022-04-27 11:39:58,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {68799#true} assume true; {68799#true} is VALID [2022-04-27 11:39:58,215 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {68799#true} {68799#true} #117#return; {68799#true} is VALID [2022-04-27 11:39:58,215 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:39:58,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:58,331 INFO L290 TraceCheckUtils]: 0: Hoare triple {68799#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:58,332 INFO L290 TraceCheckUtils]: 1: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:58,332 INFO L290 TraceCheckUtils]: 2: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:58,333 INFO L290 TraceCheckUtils]: 3: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:58,333 INFO L290 TraceCheckUtils]: 4: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:58,333 INFO L290 TraceCheckUtils]: 5: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:58,334 INFO L290 TraceCheckUtils]: 6: Hoare triple {68845#(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; {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:58,334 INFO L290 TraceCheckUtils]: 7: Hoare triple {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:58,334 INFO L290 TraceCheckUtils]: 8: Hoare triple {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {68847#(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-27 11:39:58,335 INFO L290 TraceCheckUtils]: 9: Hoare triple {68847#(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; {68848#(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-27 11:39:58,335 INFO L290 TraceCheckUtils]: 10: Hoare triple {68848#(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; {68849#(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-27 11:39:58,336 INFO L290 TraceCheckUtils]: 11: Hoare triple {68849#(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; {68850#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-27 11:39:58,336 INFO L290 TraceCheckUtils]: 12: Hoare triple {68850#(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; {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:39:58,337 INFO L290 TraceCheckUtils]: 13: Hoare triple {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:39:58,337 INFO L290 TraceCheckUtils]: 14: Hoare triple {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:39:58,337 INFO L290 TraceCheckUtils]: 15: Hoare triple {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:39:58,338 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {68799#true} #111#return; {68821#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-27 11:39:58,338 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-27 11:39:58,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:58,500 INFO L290 TraceCheckUtils]: 0: Hoare triple {68799#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:58,500 INFO L290 TraceCheckUtils]: 1: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:58,500 INFO L290 TraceCheckUtils]: 2: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:58,500 INFO L290 TraceCheckUtils]: 3: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:58,501 INFO L290 TraceCheckUtils]: 4: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:58,501 INFO L290 TraceCheckUtils]: 5: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:58,501 INFO L290 TraceCheckUtils]: 6: Hoare triple {68853#(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; {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:58,502 INFO L290 TraceCheckUtils]: 7: Hoare triple {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:58,502 INFO L290 TraceCheckUtils]: 8: Hoare triple {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {68855#(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-27 11:39:58,502 INFO L290 TraceCheckUtils]: 9: Hoare triple {68855#(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; {68856#(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-27 11:39:58,503 INFO L290 TraceCheckUtils]: 10: Hoare triple {68856#(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; {68857#(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-27 11:39:58,503 INFO L290 TraceCheckUtils]: 11: Hoare triple {68857#(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; {68858#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-27 11:39:58,503 INFO L290 TraceCheckUtils]: 12: Hoare triple {68858#(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; {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:39:58,504 INFO L290 TraceCheckUtils]: 13: Hoare triple {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:39:58,504 INFO L290 TraceCheckUtils]: 14: Hoare triple {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:39:58,504 INFO L290 TraceCheckUtils]: 15: Hoare triple {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:39:58,504 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {68822#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {68840#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:39:58,505 INFO L272 TraceCheckUtils]: 0: Hoare triple {68799#true} call ULTIMATE.init(); {68844#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:39:58,505 INFO L290 TraceCheckUtils]: 1: Hoare triple {68844#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {68799#true} is VALID [2022-04-27 11:39:58,505 INFO L290 TraceCheckUtils]: 2: Hoare triple {68799#true} assume true; {68799#true} is VALID [2022-04-27 11:39:58,505 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68799#true} {68799#true} #117#return; {68799#true} is VALID [2022-04-27 11:39:58,505 INFO L272 TraceCheckUtils]: 4: Hoare triple {68799#true} call #t~ret10 := main(); {68799#true} is VALID [2022-04-27 11:39:58,505 INFO L290 TraceCheckUtils]: 5: Hoare triple {68799#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {68799#true} is VALID [2022-04-27 11:39:58,505 INFO L290 TraceCheckUtils]: 6: Hoare triple {68799#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {68799#true} is VALID [2022-04-27 11:39:58,505 INFO L272 TraceCheckUtils]: 7: Hoare triple {68799#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {68799#true} is VALID [2022-04-27 11:39:58,505 INFO L290 TraceCheckUtils]: 8: Hoare triple {68799#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:58,506 INFO L290 TraceCheckUtils]: 9: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:58,506 INFO L290 TraceCheckUtils]: 10: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:58,506 INFO L290 TraceCheckUtils]: 11: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:58,506 INFO L290 TraceCheckUtils]: 12: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:58,507 INFO L290 TraceCheckUtils]: 13: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:58,507 INFO L290 TraceCheckUtils]: 14: Hoare triple {68845#(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; {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:58,507 INFO L290 TraceCheckUtils]: 15: Hoare triple {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:58,507 INFO L290 TraceCheckUtils]: 16: Hoare triple {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {68847#(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-27 11:39:58,508 INFO L290 TraceCheckUtils]: 17: Hoare triple {68847#(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; {68848#(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-27 11:39:58,508 INFO L290 TraceCheckUtils]: 18: Hoare triple {68848#(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; {68849#(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-27 11:39:58,508 INFO L290 TraceCheckUtils]: 19: Hoare triple {68849#(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; {68850#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-27 11:39:58,509 INFO L290 TraceCheckUtils]: 20: Hoare triple {68850#(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; {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:39:58,509 INFO L290 TraceCheckUtils]: 21: Hoare triple {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:39:58,509 INFO L290 TraceCheckUtils]: 22: Hoare triple {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:39:58,509 INFO L290 TraceCheckUtils]: 23: Hoare triple {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:39:58,510 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {68799#true} #111#return; {68821#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-27 11:39:58,510 INFO L290 TraceCheckUtils]: 25: Hoare triple {68821#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {68822#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-27 11:39:58,510 INFO L272 TraceCheckUtils]: 26: Hoare triple {68822#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {68799#true} is VALID [2022-04-27 11:39:58,510 INFO L290 TraceCheckUtils]: 27: Hoare triple {68799#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:58,511 INFO L290 TraceCheckUtils]: 28: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:58,511 INFO L290 TraceCheckUtils]: 29: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:58,511 INFO L290 TraceCheckUtils]: 30: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:58,511 INFO L290 TraceCheckUtils]: 31: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:58,512 INFO L290 TraceCheckUtils]: 32: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:58,512 INFO L290 TraceCheckUtils]: 33: Hoare triple {68853#(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; {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:58,512 INFO L290 TraceCheckUtils]: 34: Hoare triple {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:58,512 INFO L290 TraceCheckUtils]: 35: Hoare triple {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {68855#(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-27 11:39:58,513 INFO L290 TraceCheckUtils]: 36: Hoare triple {68855#(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; {68856#(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-27 11:39:58,513 INFO L290 TraceCheckUtils]: 37: Hoare triple {68856#(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; {68857#(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-27 11:39:58,514 INFO L290 TraceCheckUtils]: 38: Hoare triple {68857#(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; {68858#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-27 11:39:58,514 INFO L290 TraceCheckUtils]: 39: Hoare triple {68858#(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; {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:39:58,514 INFO L290 TraceCheckUtils]: 40: Hoare triple {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:39:58,514 INFO L290 TraceCheckUtils]: 41: Hoare triple {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:39:58,515 INFO L290 TraceCheckUtils]: 42: Hoare triple {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:39:58,515 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {68822#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {68840#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:39:58,515 INFO L290 TraceCheckUtils]: 44: Hoare triple {68840#(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; {68841#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:39:58,516 INFO L272 TraceCheckUtils]: 45: Hoare triple {68841#(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)); {68842#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:39:58,516 INFO L290 TraceCheckUtils]: 46: Hoare triple {68842#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {68843#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:39:58,516 INFO L290 TraceCheckUtils]: 47: Hoare triple {68843#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {68800#false} is VALID [2022-04-27 11:39:58,516 INFO L290 TraceCheckUtils]: 48: Hoare triple {68800#false} assume !false; {68800#false} is VALID [2022-04-27 11:39:58,516 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-27 11:39:58,516 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:39:58,516 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [236313193] [2022-04-27 11:39:58,517 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [236313193] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:39:58,517 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [343677640] [2022-04-27 11:39:58,517 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 11:39:58,517 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:39:58,517 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:39:58,518 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-27 11:39:58,520 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-27 11:39:58,594 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 11:39:58,594 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:39:58,595 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-27 11:39:58,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:39:58,602 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:39:59,269 INFO L272 TraceCheckUtils]: 0: Hoare triple {68799#true} call ULTIMATE.init(); {68799#true} is VALID [2022-04-27 11:39:59,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {68799#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {68799#true} is VALID [2022-04-27 11:39:59,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {68799#true} assume true; {68799#true} is VALID [2022-04-27 11:39:59,270 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68799#true} {68799#true} #117#return; {68799#true} is VALID [2022-04-27 11:39:59,270 INFO L272 TraceCheckUtils]: 4: Hoare triple {68799#true} call #t~ret10 := main(); {68799#true} is VALID [2022-04-27 11:39:59,270 INFO L290 TraceCheckUtils]: 5: Hoare triple {68799#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {68799#true} is VALID [2022-04-27 11:39:59,270 INFO L290 TraceCheckUtils]: 6: Hoare triple {68799#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {68799#true} is VALID [2022-04-27 11:39:59,270 INFO L272 TraceCheckUtils]: 7: Hoare triple {68799#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {68799#true} is VALID [2022-04-27 11:39:59,270 INFO L290 TraceCheckUtils]: 8: Hoare triple {68799#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:59,270 INFO L290 TraceCheckUtils]: 9: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:59,271 INFO L290 TraceCheckUtils]: 10: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:59,271 INFO L290 TraceCheckUtils]: 11: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:59,271 INFO L290 TraceCheckUtils]: 12: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:59,272 INFO L290 TraceCheckUtils]: 13: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:59,272 INFO L290 TraceCheckUtils]: 14: Hoare triple {68845#(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; {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:59,272 INFO L290 TraceCheckUtils]: 15: Hoare triple {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:59,273 INFO L290 TraceCheckUtils]: 16: Hoare triple {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {68912#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:59,273 INFO L290 TraceCheckUtils]: 17: Hoare triple {68912#(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; {68916#(and (<= 1 correct_version_~j~0) (= correct_version_~j~0 correct_version_~y~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:59,273 INFO L290 TraceCheckUtils]: 18: Hoare triple {68916#(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; {68920#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:59,274 INFO L290 TraceCheckUtils]: 19: Hoare triple {68920#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)) (<= correct_version_~j~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {68924#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 3)) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:59,274 INFO L290 TraceCheckUtils]: 20: Hoare triple {68924#(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; {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:39:59,275 INFO L290 TraceCheckUtils]: 21: Hoare triple {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:39:59,275 INFO L290 TraceCheckUtils]: 22: Hoare triple {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:39:59,275 INFO L290 TraceCheckUtils]: 23: Hoare triple {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:39:59,276 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {68799#true} #111#return; {68821#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-27 11:39:59,276 INFO L290 TraceCheckUtils]: 25: Hoare triple {68821#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {68822#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-27 11:39:59,276 INFO L272 TraceCheckUtils]: 26: Hoare triple {68822#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {68799#true} is VALID [2022-04-27 11:39:59,276 INFO L290 TraceCheckUtils]: 27: Hoare triple {68799#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:59,277 INFO L290 TraceCheckUtils]: 28: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:59,277 INFO L290 TraceCheckUtils]: 29: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:59,277 INFO L290 TraceCheckUtils]: 30: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:59,278 INFO L290 TraceCheckUtils]: 31: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:59,278 INFO L290 TraceCheckUtils]: 32: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:59,278 INFO L290 TraceCheckUtils]: 33: Hoare triple {68853#(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; {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:59,279 INFO L290 TraceCheckUtils]: 34: Hoare triple {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:59,279 INFO L290 TraceCheckUtils]: 35: Hoare triple {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {68973#(and (= student_version_~y~1 0) (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:59,279 INFO L290 TraceCheckUtils]: 36: Hoare triple {68973#(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; {68977#(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-27 11:39:59,280 INFO L290 TraceCheckUtils]: 37: Hoare triple {68977#(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; {68981#(and (<= student_version_~j~1 1) (= (+ student_version_~y~1 (* (- 2) student_version_~j~1)) 0) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:59,280 INFO L290 TraceCheckUtils]: 38: Hoare triple {68981#(and (<= student_version_~j~1 1) (= (+ student_version_~y~1 (* (- 2) student_version_~j~1)) 0) (<= 1 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {68985#(and (<= student_version_~j~1 1) (= student_version_~y~1 (* 3 student_version_~j~1)) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:59,281 INFO L290 TraceCheckUtils]: 39: Hoare triple {68985#(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; {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:39:59,281 INFO L290 TraceCheckUtils]: 40: Hoare triple {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:39:59,281 INFO L290 TraceCheckUtils]: 41: Hoare triple {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:39:59,281 INFO L290 TraceCheckUtils]: 42: Hoare triple {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:39:59,282 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {68822#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {69001#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0) (<= |main_#t~ret9| 4) (<= 4 |main_#t~ret9|))} is VALID [2022-04-27 11:39:59,282 INFO L290 TraceCheckUtils]: 44: Hoare triple {69001#(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; {69005#(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-27 11:39:59,283 INFO L272 TraceCheckUtils]: 45: Hoare triple {69005#(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)); {69009#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:39:59,283 INFO L290 TraceCheckUtils]: 46: Hoare triple {69009#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {69013#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:39:59,283 INFO L290 TraceCheckUtils]: 47: Hoare triple {69013#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {68800#false} is VALID [2022-04-27 11:39:59,284 INFO L290 TraceCheckUtils]: 48: Hoare triple {68800#false} assume !false; {68800#false} is VALID [2022-04-27 11:39:59,284 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-27 11:39:59,284 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:39:59,679 INFO L290 TraceCheckUtils]: 48: Hoare triple {68800#false} assume !false; {68800#false} is VALID [2022-04-27 11:39:59,679 INFO L290 TraceCheckUtils]: 47: Hoare triple {69013#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {68800#false} is VALID [2022-04-27 11:39:59,680 INFO L290 TraceCheckUtils]: 46: Hoare triple {69009#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {69013#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:39:59,680 INFO L272 TraceCheckUtils]: 45: Hoare triple {68841#(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)); {69009#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:39:59,681 INFO L290 TraceCheckUtils]: 44: Hoare triple {68840#(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; {68841#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:39:59,681 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} {68822#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} #113#return; {68840#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:39:59,682 INFO L290 TraceCheckUtils]: 42: Hoare triple {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} assume true; {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:39:59,682 INFO L290 TraceCheckUtils]: 41: Hoare triple {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} #res := ~y~1; {68860#(and (<= |student_version_#res| 4) (<= 4 |student_version_#res|))} is VALID [2022-04-27 11:39:59,682 INFO L290 TraceCheckUtils]: 40: Hoare triple {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} assume !(~x~1 < ~i~1); {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:39:59,683 INFO L290 TraceCheckUtils]: 39: Hoare triple {68858#(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; {68859#(and (<= student_version_~y~1 4) (<= 4 student_version_~y~1))} is VALID [2022-04-27 11:39:59,683 INFO L290 TraceCheckUtils]: 38: Hoare triple {68857#(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; {68858#(and (<= 4 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 4))} is VALID [2022-04-27 11:39:59,684 INFO L290 TraceCheckUtils]: 37: Hoare triple {68856#(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; {68857#(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-27 11:39:59,684 INFO L290 TraceCheckUtils]: 36: Hoare triple {68855#(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; {68856#(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-27 11:39:59,685 INFO L290 TraceCheckUtils]: 35: Hoare triple {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {68855#(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-27 11:39:59,685 INFO L290 TraceCheckUtils]: 34: Hoare triple {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:59,685 INFO L290 TraceCheckUtils]: 33: Hoare triple {68853#(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; {68854#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:39:59,686 INFO L290 TraceCheckUtils]: 32: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:59,686 INFO L290 TraceCheckUtils]: 31: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:59,686 INFO L290 TraceCheckUtils]: 30: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:59,687 INFO L290 TraceCheckUtils]: 29: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:59,687 INFO L290 TraceCheckUtils]: 28: Hoare triple {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:59,687 INFO L290 TraceCheckUtils]: 27: Hoare triple {68799#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {68853#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:39:59,687 INFO L272 TraceCheckUtils]: 26: Hoare triple {68822#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {68799#true} is VALID [2022-04-27 11:39:59,688 INFO L290 TraceCheckUtils]: 25: Hoare triple {68821#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {68822#(and (<= main_~n_stones1~0 4) (<= 4 main_~n_stones1~0))} is VALID [2022-04-27 11:39:59,688 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} {68799#true} #111#return; {68821#(and (<= 4 |main_#t~ret8|) (<= |main_#t~ret8| 4))} is VALID [2022-04-27 11:39:59,689 INFO L290 TraceCheckUtils]: 23: Hoare triple {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} assume true; {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:39:59,689 INFO L290 TraceCheckUtils]: 22: Hoare triple {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} #res := ~y~0; {68852#(and (<= |correct_version_#res| 4) (<= 4 |correct_version_#res|))} is VALID [2022-04-27 11:39:59,689 INFO L290 TraceCheckUtils]: 21: Hoare triple {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} assume !(~x~0 < ~i~0); {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:39:59,690 INFO L290 TraceCheckUtils]: 20: Hoare triple {68850#(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; {68851#(and (<= 4 correct_version_~y~0) (<= correct_version_~y~0 4))} is VALID [2022-04-27 11:39:59,690 INFO L290 TraceCheckUtils]: 19: Hoare triple {68849#(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; {68850#(and (<= 4 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 4))} is VALID [2022-04-27 11:39:59,691 INFO L290 TraceCheckUtils]: 18: Hoare triple {68848#(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; {68849#(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-27 11:39:59,691 INFO L290 TraceCheckUtils]: 17: Hoare triple {68847#(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; {68848#(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-27 11:39:59,691 INFO L290 TraceCheckUtils]: 16: Hoare triple {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {68847#(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-27 11:39:59,692 INFO L290 TraceCheckUtils]: 15: Hoare triple {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:59,692 INFO L290 TraceCheckUtils]: 14: Hoare triple {68845#(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; {68846#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:39:59,693 INFO L290 TraceCheckUtils]: 13: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:59,693 INFO L290 TraceCheckUtils]: 12: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:59,693 INFO L290 TraceCheckUtils]: 11: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:59,694 INFO L290 TraceCheckUtils]: 10: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:59,694 INFO L290 TraceCheckUtils]: 9: Hoare triple {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:59,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {68799#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {68845#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:39:59,694 INFO L272 TraceCheckUtils]: 7: Hoare triple {68799#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {68799#true} is VALID [2022-04-27 11:39:59,694 INFO L290 TraceCheckUtils]: 6: Hoare triple {68799#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {68799#true} is VALID [2022-04-27 11:39:59,694 INFO L290 TraceCheckUtils]: 5: Hoare triple {68799#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {68799#true} is VALID [2022-04-27 11:39:59,694 INFO L272 TraceCheckUtils]: 4: Hoare triple {68799#true} call #t~ret10 := main(); {68799#true} is VALID [2022-04-27 11:39:59,694 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68799#true} {68799#true} #117#return; {68799#true} is VALID [2022-04-27 11:39:59,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {68799#true} assume true; {68799#true} is VALID [2022-04-27 11:39:59,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {68799#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {68799#true} is VALID [2022-04-27 11:39:59,695 INFO L272 TraceCheckUtils]: 0: Hoare triple {68799#true} call ULTIMATE.init(); {68799#true} is VALID [2022-04-27 11:39:59,695 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-27 11:39:59,695 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [343677640] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:39:59,695 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:39:59,695 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 37 [2022-04-27 11:39:59,696 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [864504180] [2022-04-27 11:39:59,696 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:39:59,696 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 49 [2022-04-27 11:39:59,697 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:39:59,697 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:39:59,733 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-27 11:39:59,733 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 37 states [2022-04-27 11:39:59,733 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:39:59,733 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-04-27 11:39:59,734 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=1239, Unknown=0, NotChecked=0, Total=1332 [2022-04-27 11:39:59,734 INFO L87 Difference]: Start difference. First operand 364 states and 416 transitions. Second operand has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:40:03,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:03,384 INFO L93 Difference]: Finished difference Result 382 states and 437 transitions. [2022-04-27 11:40:03,384 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-27 11:40:03,384 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 49 [2022-04-27 11:40:03,384 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:40:03,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:40:03,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 84 transitions. [2022-04-27 11:40:03,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:40:03,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 84 transitions. [2022-04-27 11:40:03,385 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 84 transitions. [2022-04-27 11:40:03,446 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-27 11:40:03,454 INFO L225 Difference]: With dead ends: 382 [2022-04-27 11:40:03,454 INFO L226 Difference]: Without dead ends: 376 [2022-04-27 11:40:03,455 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 82 SyntacticMatches, 9 SemanticMatches, 58 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 616 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=235, Invalid=3305, Unknown=0, NotChecked=0, Total=3540 [2022-04-27 11:40:03,458 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 59 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 1250 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 1283 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 1250 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-27 11:40:03,458 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 158 Invalid, 1283 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 1250 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-27 11:40:03,462 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 376 states. [2022-04-27 11:40:05,610 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 376 to 374. [2022-04-27 11:40:05,610 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:40:05,611 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-27 11:40:05,611 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-27 11:40:05,611 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-27 11:40:05,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:05,617 INFO L93 Difference]: Finished difference Result 376 states and 431 transitions. [2022-04-27 11:40:05,617 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 431 transitions. [2022-04-27 11:40:05,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:40:05,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:40:05,618 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-27 11:40:05,618 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-27 11:40:05,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:05,623 INFO L93 Difference]: Finished difference Result 376 states and 431 transitions. [2022-04-27 11:40:05,624 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 431 transitions. [2022-04-27 11:40:05,624 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:40:05,624 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:40:05,624 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:40:05,625 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:40:05,625 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-27 11:40:05,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 374 states to 374 states and 429 transitions. [2022-04-27 11:40:05,633 INFO L78 Accepts]: Start accepts. Automaton has 374 states and 429 transitions. Word has length 49 [2022-04-27 11:40:05,633 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:40:05,633 INFO L495 AbstractCegarLoop]: Abstraction has 374 states and 429 transitions. [2022-04-27 11:40:05,633 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 37 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 31 states have internal predecessors, (49), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:40:05,633 INFO L276 IsEmpty]: Start isEmpty. Operand 374 states and 429 transitions. [2022-04-27 11:40:05,634 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-27 11:40:05,635 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:40:05,635 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:40:05,651 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-27 11:40:05,851 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable55,47 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:40:05,851 INFO L420 AbstractCegarLoop]: === Iteration 57 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:40:05,852 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:40:05,852 INFO L85 PathProgramCache]: Analyzing trace with hash -1431154964, now seen corresponding path program 47 times [2022-04-27 11:40:05,852 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:40:05,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1761365827] [2022-04-27 11:40:05,852 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:40:05,852 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:40:05,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:05,885 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:40:05,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:05,887 INFO L290 TraceCheckUtils]: 0: Hoare triple {71083#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {71042#true} is VALID [2022-04-27 11:40:05,887 INFO L290 TraceCheckUtils]: 1: Hoare triple {71042#true} assume true; {71042#true} is VALID [2022-04-27 11:40:05,887 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {71042#true} {71042#true} #117#return; {71042#true} is VALID [2022-04-27 11:40:05,887 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:40:05,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:06,009 INFO L290 TraceCheckUtils]: 0: Hoare triple {71042#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {71084#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:40:06,009 INFO L290 TraceCheckUtils]: 1: Hoare triple {71084#(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; {71084#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:40:06,010 INFO L290 TraceCheckUtils]: 2: Hoare triple {71084#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {71084#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:40:06,010 INFO L290 TraceCheckUtils]: 3: Hoare triple {71084#(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; {71085#(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-27 11:40:06,011 INFO L290 TraceCheckUtils]: 4: Hoare triple {71085#(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; {71086#(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-27 11:40:06,011 INFO L290 TraceCheckUtils]: 5: Hoare triple {71086#(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; {71087#(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-27 11:40:06,012 INFO L290 TraceCheckUtils]: 6: Hoare triple {71087#(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; {71088#(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-27 11:40:06,012 INFO L290 TraceCheckUtils]: 7: Hoare triple {71088#(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; {71089#(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-27 11:40:06,013 INFO L290 TraceCheckUtils]: 8: Hoare triple {71089#(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; {71090#(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-27 11:40:06,013 INFO L290 TraceCheckUtils]: 9: Hoare triple {71090#(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; {71091#(and (<= correct_version_~l~0 (* 7 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-27 11:40:06,014 INFO L290 TraceCheckUtils]: 10: Hoare triple {71091#(and (<= correct_version_~l~0 (* 7 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:06,014 INFO L290 TraceCheckUtils]: 11: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:06,014 INFO L290 TraceCheckUtils]: 12: Hoare triple {71092#(<= |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; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:06,014 INFO L290 TraceCheckUtils]: 13: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:06,015 INFO L290 TraceCheckUtils]: 14: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} #res := ~y~0; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:06,015 INFO L290 TraceCheckUtils]: 15: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume true; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:06,016 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} {71042#true} #111#return; {71064#(<= main_~m~0 (* 7 main_~a~0))} is VALID [2022-04-27 11:40:06,016 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-27 11:40:06,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:06,219 INFO L290 TraceCheckUtils]: 0: Hoare triple {71042#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {71093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:40:06,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {71093#(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; {71093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:40:06,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {71093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {71093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:40:06,221 INFO L290 TraceCheckUtils]: 3: Hoare triple {71093#(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; {71094#(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-27 11:40:06,221 INFO L290 TraceCheckUtils]: 4: Hoare triple {71094#(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; {71095#(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-27 11:40:06,222 INFO L290 TraceCheckUtils]: 5: Hoare triple {71095#(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; {71096#(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-27 11:40:06,222 INFO L290 TraceCheckUtils]: 6: Hoare triple {71096#(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; {71097#(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-27 11:40:06,223 INFO L290 TraceCheckUtils]: 7: Hoare triple {71097#(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; {71098#(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-27 11:40:06,223 INFO L290 TraceCheckUtils]: 8: Hoare triple {71098#(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; {71099#(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-27 11:40:06,224 INFO L290 TraceCheckUtils]: 9: Hoare triple {71099#(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; {71100#(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-27 11:40:06,224 INFO L290 TraceCheckUtils]: 10: Hoare triple {71100#(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; {71101#(and (<= (+ (* 7 |student_version_#in~a|) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:40:06,225 INFO L290 TraceCheckUtils]: 11: Hoare triple {71101#(and (<= (+ (* 7 |student_version_#in~a|) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:06,225 INFO L290 TraceCheckUtils]: 12: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:06,225 INFO L290 TraceCheckUtils]: 13: Hoare triple {71102#(<= (+ (* 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; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:06,226 INFO L290 TraceCheckUtils]: 14: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:06,226 INFO L290 TraceCheckUtils]: 15: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:06,226 INFO L290 TraceCheckUtils]: 16: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:06,227 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} {71064#(<= main_~m~0 (* 7 main_~a~0))} #113#return; {71043#false} is VALID [2022-04-27 11:40:06,228 INFO L272 TraceCheckUtils]: 0: Hoare triple {71042#true} call ULTIMATE.init(); {71083#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:40:06,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {71083#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {71042#true} is VALID [2022-04-27 11:40:06,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {71042#true} assume true; {71042#true} is VALID [2022-04-27 11:40:06,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {71042#true} {71042#true} #117#return; {71042#true} is VALID [2022-04-27 11:40:06,228 INFO L272 TraceCheckUtils]: 4: Hoare triple {71042#true} call #t~ret10 := main(); {71042#true} is VALID [2022-04-27 11:40:06,229 INFO L290 TraceCheckUtils]: 5: Hoare triple {71042#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {71042#true} is VALID [2022-04-27 11:40:06,229 INFO L290 TraceCheckUtils]: 6: Hoare triple {71042#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {71042#true} is VALID [2022-04-27 11:40:06,229 INFO L272 TraceCheckUtils]: 7: Hoare triple {71042#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {71042#true} is VALID [2022-04-27 11:40:06,229 INFO L290 TraceCheckUtils]: 8: Hoare triple {71042#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {71084#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:40:06,229 INFO L290 TraceCheckUtils]: 9: Hoare triple {71084#(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; {71084#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:40:06,230 INFO L290 TraceCheckUtils]: 10: Hoare triple {71084#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {71084#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:40:06,230 INFO L290 TraceCheckUtils]: 11: Hoare triple {71084#(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; {71085#(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-27 11:40:06,231 INFO L290 TraceCheckUtils]: 12: Hoare triple {71085#(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; {71086#(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-27 11:40:06,231 INFO L290 TraceCheckUtils]: 13: Hoare triple {71086#(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; {71087#(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-27 11:40:06,232 INFO L290 TraceCheckUtils]: 14: Hoare triple {71087#(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; {71088#(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-27 11:40:06,232 INFO L290 TraceCheckUtils]: 15: Hoare triple {71088#(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; {71089#(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-27 11:40:06,233 INFO L290 TraceCheckUtils]: 16: Hoare triple {71089#(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; {71090#(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-27 11:40:06,233 INFO L290 TraceCheckUtils]: 17: Hoare triple {71090#(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; {71091#(and (<= correct_version_~l~0 (* 7 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-27 11:40:06,234 INFO L290 TraceCheckUtils]: 18: Hoare triple {71091#(and (<= correct_version_~l~0 (* 7 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:06,234 INFO L290 TraceCheckUtils]: 19: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:06,234 INFO L290 TraceCheckUtils]: 20: Hoare triple {71092#(<= |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; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:06,234 INFO L290 TraceCheckUtils]: 21: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:06,235 INFO L290 TraceCheckUtils]: 22: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} #res := ~y~0; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:06,235 INFO L290 TraceCheckUtils]: 23: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume true; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:06,236 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} {71042#true} #111#return; {71064#(<= main_~m~0 (* 7 main_~a~0))} is VALID [2022-04-27 11:40:06,236 INFO L290 TraceCheckUtils]: 25: Hoare triple {71064#(<= main_~m~0 (* 7 main_~a~0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {71064#(<= main_~m~0 (* 7 main_~a~0))} is VALID [2022-04-27 11:40:06,236 INFO L272 TraceCheckUtils]: 26: Hoare triple {71064#(<= main_~m~0 (* 7 main_~a~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {71042#true} is VALID [2022-04-27 11:40:06,236 INFO L290 TraceCheckUtils]: 27: Hoare triple {71042#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {71093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:40:06,237 INFO L290 TraceCheckUtils]: 28: Hoare triple {71093#(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; {71093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:40:06,237 INFO L290 TraceCheckUtils]: 29: Hoare triple {71093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {71093#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:40:06,237 INFO L290 TraceCheckUtils]: 30: Hoare triple {71093#(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; {71094#(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-27 11:40:06,238 INFO L290 TraceCheckUtils]: 31: Hoare triple {71094#(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; {71095#(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-27 11:40:06,238 INFO L290 TraceCheckUtils]: 32: Hoare triple {71095#(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; {71096#(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-27 11:40:06,239 INFO L290 TraceCheckUtils]: 33: Hoare triple {71096#(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; {71097#(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-27 11:40:06,239 INFO L290 TraceCheckUtils]: 34: Hoare triple {71097#(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; {71098#(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-27 11:40:06,240 INFO L290 TraceCheckUtils]: 35: Hoare triple {71098#(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; {71099#(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-27 11:40:06,240 INFO L290 TraceCheckUtils]: 36: Hoare triple {71099#(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; {71100#(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-27 11:40:06,241 INFO L290 TraceCheckUtils]: 37: Hoare triple {71100#(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; {71101#(and (<= (+ (* 7 |student_version_#in~a|) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:40:06,241 INFO L290 TraceCheckUtils]: 38: Hoare triple {71101#(and (<= (+ (* 7 |student_version_#in~a|) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:06,242 INFO L290 TraceCheckUtils]: 39: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:06,242 INFO L290 TraceCheckUtils]: 40: Hoare triple {71102#(<= (+ (* 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; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:06,242 INFO L290 TraceCheckUtils]: 41: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:06,242 INFO L290 TraceCheckUtils]: 42: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:06,243 INFO L290 TraceCheckUtils]: 43: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:06,243 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} {71064#(<= main_~m~0 (* 7 main_~a~0))} #113#return; {71043#false} is VALID [2022-04-27 11:40:06,243 INFO L290 TraceCheckUtils]: 45: Hoare triple {71043#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {71043#false} is VALID [2022-04-27 11:40:06,243 INFO L272 TraceCheckUtils]: 46: Hoare triple {71043#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {71043#false} is VALID [2022-04-27 11:40:06,243 INFO L290 TraceCheckUtils]: 47: Hoare triple {71043#false} ~cond := #in~cond; {71043#false} is VALID [2022-04-27 11:40:06,244 INFO L290 TraceCheckUtils]: 48: Hoare triple {71043#false} assume 0 == ~cond; {71043#false} is VALID [2022-04-27 11:40:06,244 INFO L290 TraceCheckUtils]: 49: Hoare triple {71043#false} assume !false; {71043#false} is VALID [2022-04-27 11:40:06,244 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-27 11:40:06,244 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:40:06,244 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1761365827] [2022-04-27 11:40:06,244 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1761365827] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:40:06,244 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [874619306] [2022-04-27 11:40:06,244 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 11:40:06,244 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:40:06,244 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:40:06,245 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-27 11:40:06,246 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-27 11:40:06,313 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2022-04-27 11:40:06,313 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:40:06,314 INFO L263 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-27 11:40:06,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:06,324 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:40:07,076 INFO L272 TraceCheckUtils]: 0: Hoare triple {71042#true} call ULTIMATE.init(); {71042#true} is VALID [2022-04-27 11:40:07,076 INFO L290 TraceCheckUtils]: 1: Hoare triple {71042#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {71042#true} is VALID [2022-04-27 11:40:07,076 INFO L290 TraceCheckUtils]: 2: Hoare triple {71042#true} assume true; {71042#true} is VALID [2022-04-27 11:40:07,076 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {71042#true} {71042#true} #117#return; {71042#true} is VALID [2022-04-27 11:40:07,076 INFO L272 TraceCheckUtils]: 4: Hoare triple {71042#true} call #t~ret10 := main(); {71042#true} is VALID [2022-04-27 11:40:07,076 INFO L290 TraceCheckUtils]: 5: Hoare triple {71042#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {71042#true} is VALID [2022-04-27 11:40:07,076 INFO L290 TraceCheckUtils]: 6: Hoare triple {71042#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {71042#true} is VALID [2022-04-27 11:40:07,076 INFO L272 TraceCheckUtils]: 7: Hoare triple {71042#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {71042#true} is VALID [2022-04-27 11:40:07,077 INFO L290 TraceCheckUtils]: 8: Hoare triple {71042#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {71130#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:40:07,077 INFO L290 TraceCheckUtils]: 9: Hoare triple {71130#(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; {71130#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:40:07,077 INFO L290 TraceCheckUtils]: 10: Hoare triple {71130#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {71130#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:40:07,078 INFO L290 TraceCheckUtils]: 11: Hoare triple {71130#(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; {71140#(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-27 11:40:07,078 INFO L290 TraceCheckUtils]: 12: Hoare triple {71140#(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; {71144#(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-27 11:40:07,078 INFO L290 TraceCheckUtils]: 13: Hoare triple {71144#(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; {71148#(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-27 11:40:07,079 INFO L290 TraceCheckUtils]: 14: Hoare triple {71148#(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; {71152#(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-27 11:40:07,079 INFO L290 TraceCheckUtils]: 15: Hoare triple {71152#(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; {71156#(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-27 11:40:07,080 INFO L290 TraceCheckUtils]: 16: Hoare triple {71156#(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; {71160#(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-27 11:40:07,080 INFO L290 TraceCheckUtils]: 17: Hoare triple {71160#(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; {71164#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 7)) |correct_version_#in~a|))} is VALID [2022-04-27 11:40:07,080 INFO L290 TraceCheckUtils]: 18: Hoare triple {71164#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 7)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:07,081 INFO L290 TraceCheckUtils]: 19: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:07,081 INFO L290 TraceCheckUtils]: 20: Hoare triple {71092#(<= |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; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:07,081 INFO L290 TraceCheckUtils]: 21: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:07,081 INFO L290 TraceCheckUtils]: 22: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} #res := ~y~0; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:07,081 INFO L290 TraceCheckUtils]: 23: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume true; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:07,082 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} {71042#true} #111#return; {71064#(<= main_~m~0 (* 7 main_~a~0))} is VALID [2022-04-27 11:40:07,082 INFO L290 TraceCheckUtils]: 25: Hoare triple {71064#(<= main_~m~0 (* 7 main_~a~0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {71064#(<= main_~m~0 (* 7 main_~a~0))} is VALID [2022-04-27 11:40:07,082 INFO L272 TraceCheckUtils]: 26: Hoare triple {71064#(<= main_~m~0 (* 7 main_~a~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {71042#true} is VALID [2022-04-27 11:40:07,082 INFO L290 TraceCheckUtils]: 27: Hoare triple {71042#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {71195#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:40:07,082 INFO L290 TraceCheckUtils]: 28: Hoare triple {71195#(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; {71195#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:40:07,083 INFO L290 TraceCheckUtils]: 29: Hoare triple {71195#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {71195#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:40:07,083 INFO L290 TraceCheckUtils]: 30: Hoare triple {71195#(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; {71205#(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-27 11:40:07,083 INFO L290 TraceCheckUtils]: 31: Hoare triple {71205#(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; {71209#(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-27 11:40:07,084 INFO L290 TraceCheckUtils]: 32: Hoare triple {71209#(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; {71213#(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-27 11:40:07,084 INFO L290 TraceCheckUtils]: 33: Hoare triple {71213#(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; {71217#(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-27 11:40:07,085 INFO L290 TraceCheckUtils]: 34: Hoare triple {71217#(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; {71221#(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-27 11:40:07,085 INFO L290 TraceCheckUtils]: 35: Hoare triple {71221#(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; {71225#(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-27 11:40:07,086 INFO L290 TraceCheckUtils]: 36: Hoare triple {71225#(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; {71229#(and (<= |student_version_#in~a| (div student_version_~l~1 7)) (<= student_version_~m |student_version_#in~m|))} is VALID [2022-04-27 11:40:07,086 INFO L290 TraceCheckUtils]: 37: Hoare triple {71229#(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; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:07,086 INFO L290 TraceCheckUtils]: 38: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:07,086 INFO L290 TraceCheckUtils]: 39: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:07,086 INFO L290 TraceCheckUtils]: 40: Hoare triple {71102#(<= (+ (* 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; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:07,087 INFO L290 TraceCheckUtils]: 41: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:07,087 INFO L290 TraceCheckUtils]: 42: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:07,087 INFO L290 TraceCheckUtils]: 43: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:07,087 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} {71064#(<= main_~m~0 (* 7 main_~a~0))} #113#return; {71043#false} is VALID [2022-04-27 11:40:07,087 INFO L290 TraceCheckUtils]: 45: Hoare triple {71043#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {71043#false} is VALID [2022-04-27 11:40:07,087 INFO L272 TraceCheckUtils]: 46: Hoare triple {71043#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {71043#false} is VALID [2022-04-27 11:40:07,088 INFO L290 TraceCheckUtils]: 47: Hoare triple {71043#false} ~cond := #in~cond; {71043#false} is VALID [2022-04-27 11:40:07,088 INFO L290 TraceCheckUtils]: 48: Hoare triple {71043#false} assume 0 == ~cond; {71043#false} is VALID [2022-04-27 11:40:07,088 INFO L290 TraceCheckUtils]: 49: Hoare triple {71043#false} assume !false; {71043#false} is VALID [2022-04-27 11:40:07,088 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-27 11:40:07,088 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:40:08,276 INFO L290 TraceCheckUtils]: 49: Hoare triple {71043#false} assume !false; {71043#false} is VALID [2022-04-27 11:40:08,277 INFO L290 TraceCheckUtils]: 48: Hoare triple {71043#false} assume 0 == ~cond; {71043#false} is VALID [2022-04-27 11:40:08,277 INFO L290 TraceCheckUtils]: 47: Hoare triple {71043#false} ~cond := #in~cond; {71043#false} is VALID [2022-04-27 11:40:08,277 INFO L272 TraceCheckUtils]: 46: Hoare triple {71043#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {71043#false} is VALID [2022-04-27 11:40:08,277 INFO L290 TraceCheckUtils]: 45: Hoare triple {71043#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {71043#false} is VALID [2022-04-27 11:40:08,277 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} {71064#(<= main_~m~0 (* 7 main_~a~0))} #113#return; {71043#false} is VALID [2022-04-27 11:40:08,277 INFO L290 TraceCheckUtils]: 43: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume true; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:08,278 INFO L290 TraceCheckUtils]: 42: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} #res := ~y~1; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:08,278 INFO L290 TraceCheckUtils]: 41: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:08,278 INFO L290 TraceCheckUtils]: 40: Hoare triple {71102#(<= (+ (* 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; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:08,278 INFO L290 TraceCheckUtils]: 39: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:08,278 INFO L290 TraceCheckUtils]: 38: Hoare triple {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:08,279 INFO L290 TraceCheckUtils]: 37: Hoare triple {71308#(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; {71102#(<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:40:08,279 INFO L290 TraceCheckUtils]: 36: Hoare triple {71312#(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; {71308#(or (<= (+ (* 7 |student_version_#in~a|) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-27 11:40:08,279 INFO L290 TraceCheckUtils]: 35: Hoare triple {71316#(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; {71312#(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-27 11:40:08,280 INFO L290 TraceCheckUtils]: 34: Hoare triple {71320#(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; {71316#(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-27 11:40:08,280 INFO L290 TraceCheckUtils]: 33: Hoare triple {71324#(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; {71320#(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-27 11:40:08,281 INFO L290 TraceCheckUtils]: 32: Hoare triple {71328#(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; {71324#(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-27 11:40:08,281 INFO L290 TraceCheckUtils]: 31: Hoare triple {71332#(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; {71328#(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-27 11:40:08,281 INFO L290 TraceCheckUtils]: 30: Hoare triple {71336#(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; {71332#(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-27 11:40:08,282 INFO L290 TraceCheckUtils]: 29: Hoare triple {71336#(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); {71336#(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-27 11:40:08,282 INFO L290 TraceCheckUtils]: 28: Hoare triple {71336#(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; {71336#(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-27 11:40:08,282 INFO L290 TraceCheckUtils]: 27: Hoare triple {71042#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {71336#(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-27 11:40:08,282 INFO L272 TraceCheckUtils]: 26: Hoare triple {71064#(<= main_~m~0 (* 7 main_~a~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {71042#true} is VALID [2022-04-27 11:40:08,282 INFO L290 TraceCheckUtils]: 25: Hoare triple {71064#(<= main_~m~0 (* 7 main_~a~0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {71064#(<= main_~m~0 (* 7 main_~a~0))} is VALID [2022-04-27 11:40:08,283 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} {71042#true} #111#return; {71064#(<= main_~m~0 (* 7 main_~a~0))} is VALID [2022-04-27 11:40:08,283 INFO L290 TraceCheckUtils]: 23: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume true; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:08,283 INFO L290 TraceCheckUtils]: 22: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} #res := ~y~0; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:08,283 INFO L290 TraceCheckUtils]: 21: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:08,284 INFO L290 TraceCheckUtils]: 20: Hoare triple {71092#(<= |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; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:08,284 INFO L290 TraceCheckUtils]: 19: Hoare triple {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:08,284 INFO L290 TraceCheckUtils]: 18: Hoare triple {71373#(or (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} assume !(~l~0 < ~m); {71092#(<= |correct_version_#in~m| (* 7 |correct_version_#in~a|))} is VALID [2022-04-27 11:40:08,284 INFO L290 TraceCheckUtils]: 17: Hoare triple {71377#(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; {71373#(or (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} is VALID [2022-04-27 11:40:08,285 INFO L290 TraceCheckUtils]: 16: Hoare triple {71381#(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; {71377#(or (<= |correct_version_#in~m| (* 7 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-27 11:40:08,285 INFO L290 TraceCheckUtils]: 15: Hoare triple {71385#(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; {71381#(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-27 11:40:08,286 INFO L290 TraceCheckUtils]: 14: Hoare triple {71389#(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; {71385#(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-27 11:40:08,286 INFO L290 TraceCheckUtils]: 13: Hoare triple {71393#(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; {71389#(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-27 11:40:08,286 INFO L290 TraceCheckUtils]: 12: Hoare triple {71397#(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; {71393#(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-27 11:40:08,287 INFO L290 TraceCheckUtils]: 11: Hoare triple {71401#(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; {71397#(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-27 11:40:08,287 INFO L290 TraceCheckUtils]: 10: Hoare triple {71401#(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); {71401#(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-27 11:40:08,287 INFO L290 TraceCheckUtils]: 9: Hoare triple {71401#(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; {71401#(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-27 11:40:08,288 INFO L290 TraceCheckUtils]: 8: Hoare triple {71042#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {71401#(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-27 11:40:08,288 INFO L272 TraceCheckUtils]: 7: Hoare triple {71042#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {71042#true} is VALID [2022-04-27 11:40:08,288 INFO L290 TraceCheckUtils]: 6: Hoare triple {71042#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {71042#true} is VALID [2022-04-27 11:40:08,288 INFO L290 TraceCheckUtils]: 5: Hoare triple {71042#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {71042#true} is VALID [2022-04-27 11:40:08,288 INFO L272 TraceCheckUtils]: 4: Hoare triple {71042#true} call #t~ret10 := main(); {71042#true} is VALID [2022-04-27 11:40:08,288 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {71042#true} {71042#true} #117#return; {71042#true} is VALID [2022-04-27 11:40:08,288 INFO L290 TraceCheckUtils]: 2: Hoare triple {71042#true} assume true; {71042#true} is VALID [2022-04-27 11:40:08,288 INFO L290 TraceCheckUtils]: 1: Hoare triple {71042#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {71042#true} is VALID [2022-04-27 11:40:08,288 INFO L272 TraceCheckUtils]: 0: Hoare triple {71042#true} call ULTIMATE.init(); {71042#true} is VALID [2022-04-27 11:40:08,288 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-27 11:40:08,288 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [874619306] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:40:08,288 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:40:08,288 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 21, 21] total 55 [2022-04-27 11:40:08,289 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2128324301] [2022-04-27 11:40:08,289 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:40:08,289 INFO L78 Accepts]: Start accepts. Automaton has has 55 states, 55 states have (on average 1.6) internal successors, (88), 54 states have internal predecessors, (88), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 50 [2022-04-27 11:40:08,289 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:40:08,289 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 55 states, 55 states have (on average 1.6) internal successors, (88), 54 states have internal predecessors, (88), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:40:08,329 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-27 11:40:08,329 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 55 states [2022-04-27 11:40:08,329 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:40:08,329 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 55 interpolants. [2022-04-27 11:40:08,330 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=180, Invalid=2790, Unknown=0, NotChecked=0, Total=2970 [2022-04-27 11:40:08,330 INFO L87 Difference]: Start difference. First operand 374 states and 429 transitions. Second operand has 55 states, 55 states have (on average 1.6) internal successors, (88), 54 states have internal predecessors, (88), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:40:17,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:17,155 INFO L93 Difference]: Finished difference Result 442 states and 510 transitions. [2022-04-27 11:40:17,155 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-04-27 11:40:17,156 INFO L78 Accepts]: Start accepts. Automaton has has 55 states, 55 states have (on average 1.6) internal successors, (88), 54 states have internal predecessors, (88), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 50 [2022-04-27 11:40:17,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:40:17,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 55 states have (on average 1.6) internal successors, (88), 54 states have internal predecessors, (88), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:40:17,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 162 transitions. [2022-04-27 11:40:17,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 55 states have (on average 1.6) internal successors, (88), 54 states have internal predecessors, (88), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:40:17,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 162 transitions. [2022-04-27 11:40:17,158 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 162 transitions. [2022-04-27 11:40:17,284 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-27 11:40:17,294 INFO L225 Difference]: With dead ends: 442 [2022-04-27 11:40:17,294 INFO L226 Difference]: Without dead ends: 428 [2022-04-27 11:40:17,296 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 157 GetRequests, 67 SyntacticMatches, 5 SemanticMatches, 85 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1034 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=546, Invalid=6936, Unknown=0, NotChecked=0, Total=7482 [2022-04-27 11:40:17,297 INFO L413 NwaCegarLoop]: 94 mSDtfsCounter, 806 mSDsluCounter, 172 mSDsCounter, 0 mSdLazyCounter, 4184 mSolverCounterSat, 100 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 811 SdHoareTripleChecker+Valid, 266 SdHoareTripleChecker+Invalid, 4284 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 100 IncrementalHoareTripleChecker+Valid, 4184 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.8s IncrementalHoareTripleChecker+Time [2022-04-27 11:40:17,297 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [811 Valid, 266 Invalid, 4284 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [100 Valid, 4184 Invalid, 0 Unknown, 0 Unchecked, 2.8s Time] [2022-04-27 11:40:17,297 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 428 states. [2022-04-27 11:40:19,405 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 428 to 419. [2022-04-27 11:40:19,405 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:40:19,406 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-27 11:40:19,406 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-27 11:40:19,406 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-27 11:40:19,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:19,414 INFO L93 Difference]: Finished difference Result 428 states and 492 transitions. [2022-04-27 11:40:19,414 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 492 transitions. [2022-04-27 11:40:19,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:40:19,415 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:40:19,416 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-27 11:40:19,416 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-27 11:40:19,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:19,423 INFO L93 Difference]: Finished difference Result 428 states and 492 transitions. [2022-04-27 11:40:19,423 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 492 transitions. [2022-04-27 11:40:19,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:40:19,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:40:19,424 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:40:19,424 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:40:19,425 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-27 11:40:19,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 419 states to 419 states and 482 transitions. [2022-04-27 11:40:19,434 INFO L78 Accepts]: Start accepts. Automaton has 419 states and 482 transitions. Word has length 50 [2022-04-27 11:40:19,434 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:40:19,434 INFO L495 AbstractCegarLoop]: Abstraction has 419 states and 482 transitions. [2022-04-27 11:40:19,434 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 55 states, 55 states have (on average 1.6) internal successors, (88), 54 states have internal predecessors, (88), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:40:19,434 INFO L276 IsEmpty]: Start isEmpty. Operand 419 states and 482 transitions. [2022-04-27 11:40:19,436 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-27 11:40:19,436 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:40:19,436 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:40:19,452 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (48)] Ended with exit code 0 [2022-04-27 11:40:19,643 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable56,48 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:40:19,643 INFO L420 AbstractCegarLoop]: === Iteration 58 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:40:19,644 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:40:19,644 INFO L85 PathProgramCache]: Analyzing trace with hash -522394929, now seen corresponding path program 48 times [2022-04-27 11:40:19,644 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:40:19,644 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1237177876] [2022-04-27 11:40:19,645 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:40:19,645 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:40:19,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:19,682 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:40:19,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:19,684 INFO L290 TraceCheckUtils]: 0: Hoare triple {73626#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {73585#true} is VALID [2022-04-27 11:40:19,684 INFO L290 TraceCheckUtils]: 1: Hoare triple {73585#true} assume true; {73585#true} is VALID [2022-04-27 11:40:19,684 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {73585#true} {73585#true} #117#return; {73585#true} is VALID [2022-04-27 11:40:19,684 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:40:19,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:19,857 INFO L290 TraceCheckUtils]: 0: Hoare triple {73585#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {73627#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:40:19,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {73627#(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; {73627#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:40:19,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {73627#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {73627#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:40:19,858 INFO L290 TraceCheckUtils]: 3: Hoare triple {73627#(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; {73628#(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-27 11:40:19,859 INFO L290 TraceCheckUtils]: 4: Hoare triple {73628#(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; {73629#(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-27 11:40:19,859 INFO L290 TraceCheckUtils]: 5: Hoare triple {73629#(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; {73630#(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-27 11:40:19,860 INFO L290 TraceCheckUtils]: 6: Hoare triple {73630#(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; {73631#(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-27 11:40:19,860 INFO L290 TraceCheckUtils]: 7: Hoare triple {73631#(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; {73632#(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-27 11:40:19,861 INFO L290 TraceCheckUtils]: 8: Hoare triple {73632#(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; {73633#(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-27 11:40:19,861 INFO L290 TraceCheckUtils]: 9: Hoare triple {73633#(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; {73634#(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-27 11:40:19,862 INFO L290 TraceCheckUtils]: 10: Hoare triple {73634#(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; {73635#(and (<= (+ (* 7 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-27 11:40:19,862 INFO L290 TraceCheckUtils]: 11: Hoare triple {73635#(and (<= (+ (* 7 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:19,862 INFO L290 TraceCheckUtils]: 12: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:19,863 INFO L290 TraceCheckUtils]: 13: Hoare triple {73636#(<= (+ (* 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; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:19,863 INFO L290 TraceCheckUtils]: 14: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:19,863 INFO L290 TraceCheckUtils]: 15: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:19,863 INFO L290 TraceCheckUtils]: 16: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:19,864 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {73585#true} #111#return; {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} is VALID [2022-04-27 11:40:19,864 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-27 11:40:19,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:20,040 INFO L290 TraceCheckUtils]: 0: Hoare triple {73585#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {73637#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:40:20,041 INFO L290 TraceCheckUtils]: 1: Hoare triple {73637#(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; {73637#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:40:20,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {73637#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {73637#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:40:20,042 INFO L290 TraceCheckUtils]: 3: Hoare triple {73637#(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; {73638#(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-27 11:40:20,042 INFO L290 TraceCheckUtils]: 4: Hoare triple {73638#(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; {73639#(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-27 11:40:20,043 INFO L290 TraceCheckUtils]: 5: Hoare triple {73639#(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; {73640#(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-27 11:40:20,043 INFO L290 TraceCheckUtils]: 6: Hoare triple {73640#(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; {73641#(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-27 11:40:20,044 INFO L290 TraceCheckUtils]: 7: Hoare triple {73641#(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; {73642#(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-27 11:40:20,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {73642#(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; {73643#(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-27 11:40:20,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {73643#(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; {73644#(and (<= student_version_~l~1 (* 7 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:40:20,045 INFO L290 TraceCheckUtils]: 10: Hoare triple {73644#(and (<= student_version_~l~1 (* 7 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:20,045 INFO L290 TraceCheckUtils]: 11: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:20,045 INFO L290 TraceCheckUtils]: 12: Hoare triple {73645#(<= |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; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:20,046 INFO L290 TraceCheckUtils]: 13: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:20,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} #res := ~y~1; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:20,046 INFO L290 TraceCheckUtils]: 15: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume true; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:20,047 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} #113#return; {73586#false} is VALID [2022-04-27 11:40:20,047 INFO L272 TraceCheckUtils]: 0: Hoare triple {73585#true} call ULTIMATE.init(); {73626#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:40:20,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {73626#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {73585#true} is VALID [2022-04-27 11:40:20,047 INFO L290 TraceCheckUtils]: 2: Hoare triple {73585#true} assume true; {73585#true} is VALID [2022-04-27 11:40:20,047 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {73585#true} {73585#true} #117#return; {73585#true} is VALID [2022-04-27 11:40:20,048 INFO L272 TraceCheckUtils]: 4: Hoare triple {73585#true} call #t~ret10 := main(); {73585#true} is VALID [2022-04-27 11:40:20,048 INFO L290 TraceCheckUtils]: 5: Hoare triple {73585#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {73585#true} is VALID [2022-04-27 11:40:20,048 INFO L290 TraceCheckUtils]: 6: Hoare triple {73585#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {73585#true} is VALID [2022-04-27 11:40:20,048 INFO L272 TraceCheckUtils]: 7: Hoare triple {73585#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {73585#true} is VALID [2022-04-27 11:40:20,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {73585#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {73627#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:40:20,048 INFO L290 TraceCheckUtils]: 9: Hoare triple {73627#(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; {73627#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:40:20,049 INFO L290 TraceCheckUtils]: 10: Hoare triple {73627#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {73627#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:40:20,049 INFO L290 TraceCheckUtils]: 11: Hoare triple {73627#(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; {73628#(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-27 11:40:20,050 INFO L290 TraceCheckUtils]: 12: Hoare triple {73628#(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; {73629#(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-27 11:40:20,050 INFO L290 TraceCheckUtils]: 13: Hoare triple {73629#(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; {73630#(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-27 11:40:20,051 INFO L290 TraceCheckUtils]: 14: Hoare triple {73630#(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; {73631#(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-27 11:40:20,051 INFO L290 TraceCheckUtils]: 15: Hoare triple {73631#(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; {73632#(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-27 11:40:20,052 INFO L290 TraceCheckUtils]: 16: Hoare triple {73632#(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; {73633#(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-27 11:40:20,052 INFO L290 TraceCheckUtils]: 17: Hoare triple {73633#(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; {73634#(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-27 11:40:20,053 INFO L290 TraceCheckUtils]: 18: Hoare triple {73634#(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; {73635#(and (<= (+ (* 7 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-27 11:40:20,053 INFO L290 TraceCheckUtils]: 19: Hoare triple {73635#(and (<= (+ (* 7 |correct_version_#in~a|) 1) correct_version_~m) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:20,053 INFO L290 TraceCheckUtils]: 20: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:20,053 INFO L290 TraceCheckUtils]: 21: Hoare triple {73636#(<= (+ (* 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; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:20,054 INFO L290 TraceCheckUtils]: 22: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:20,054 INFO L290 TraceCheckUtils]: 23: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:20,054 INFO L290 TraceCheckUtils]: 24: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:20,055 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {73585#true} #111#return; {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} is VALID [2022-04-27 11:40:20,055 INFO L290 TraceCheckUtils]: 26: Hoare triple {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} is VALID [2022-04-27 11:40:20,055 INFO L272 TraceCheckUtils]: 27: Hoare triple {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {73585#true} is VALID [2022-04-27 11:40:20,055 INFO L290 TraceCheckUtils]: 28: Hoare triple {73585#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {73637#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:40:20,056 INFO L290 TraceCheckUtils]: 29: Hoare triple {73637#(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; {73637#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:40:20,056 INFO L290 TraceCheckUtils]: 30: Hoare triple {73637#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {73637#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:40:20,057 INFO L290 TraceCheckUtils]: 31: Hoare triple {73637#(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; {73638#(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-27 11:40:20,057 INFO L290 TraceCheckUtils]: 32: Hoare triple {73638#(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; {73639#(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-27 11:40:20,058 INFO L290 TraceCheckUtils]: 33: Hoare triple {73639#(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; {73640#(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-27 11:40:20,058 INFO L290 TraceCheckUtils]: 34: Hoare triple {73640#(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; {73641#(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-27 11:40:20,058 INFO L290 TraceCheckUtils]: 35: Hoare triple {73641#(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; {73642#(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-27 11:40:20,059 INFO L290 TraceCheckUtils]: 36: Hoare triple {73642#(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; {73643#(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-27 11:40:20,059 INFO L290 TraceCheckUtils]: 37: Hoare triple {73643#(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; {73644#(and (<= student_version_~l~1 (* 7 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:40:20,060 INFO L290 TraceCheckUtils]: 38: Hoare triple {73644#(and (<= student_version_~l~1 (* 7 |student_version_#in~a|)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:20,060 INFO L290 TraceCheckUtils]: 39: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:20,060 INFO L290 TraceCheckUtils]: 40: Hoare triple {73645#(<= |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; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:20,061 INFO L290 TraceCheckUtils]: 41: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:20,061 INFO L290 TraceCheckUtils]: 42: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} #res := ~y~1; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:20,061 INFO L290 TraceCheckUtils]: 43: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume true; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:20,062 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} #113#return; {73586#false} is VALID [2022-04-27 11:40:20,062 INFO L290 TraceCheckUtils]: 45: Hoare triple {73586#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {73586#false} is VALID [2022-04-27 11:40:20,062 INFO L272 TraceCheckUtils]: 46: Hoare triple {73586#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {73586#false} is VALID [2022-04-27 11:40:20,062 INFO L290 TraceCheckUtils]: 47: Hoare triple {73586#false} ~cond := #in~cond; {73586#false} is VALID [2022-04-27 11:40:20,062 INFO L290 TraceCheckUtils]: 48: Hoare triple {73586#false} assume 0 == ~cond; {73586#false} is VALID [2022-04-27 11:40:20,062 INFO L290 TraceCheckUtils]: 49: Hoare triple {73586#false} assume !false; {73586#false} is VALID [2022-04-27 11:40:20,062 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-27 11:40:20,062 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:40:20,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1237177876] [2022-04-27 11:40:20,062 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1237177876] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:40:20,063 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [299704637] [2022-04-27 11:40:20,063 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-27 11:40:20,063 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:40:20,063 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:40:20,076 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-27 11:40:20,077 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-27 11:40:20,148 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-27 11:40:20,148 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:40:20,149 INFO L263 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-27 11:40:20,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:20,163 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:40:21,191 INFO L272 TraceCheckUtils]: 0: Hoare triple {73585#true} call ULTIMATE.init(); {73585#true} is VALID [2022-04-27 11:40:21,191 INFO L290 TraceCheckUtils]: 1: Hoare triple {73585#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {73585#true} is VALID [2022-04-27 11:40:21,191 INFO L290 TraceCheckUtils]: 2: Hoare triple {73585#true} assume true; {73585#true} is VALID [2022-04-27 11:40:21,191 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {73585#true} {73585#true} #117#return; {73585#true} is VALID [2022-04-27 11:40:21,191 INFO L272 TraceCheckUtils]: 4: Hoare triple {73585#true} call #t~ret10 := main(); {73585#true} is VALID [2022-04-27 11:40:21,191 INFO L290 TraceCheckUtils]: 5: Hoare triple {73585#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {73585#true} is VALID [2022-04-27 11:40:21,191 INFO L290 TraceCheckUtils]: 6: Hoare triple {73585#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {73585#true} is VALID [2022-04-27 11:40:21,191 INFO L272 TraceCheckUtils]: 7: Hoare triple {73585#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {73585#true} is VALID [2022-04-27 11:40:21,192 INFO L290 TraceCheckUtils]: 8: Hoare triple {73585#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {73673#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:40:21,192 INFO L290 TraceCheckUtils]: 9: Hoare triple {73673#(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; {73673#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:40:21,192 INFO L290 TraceCheckUtils]: 10: Hoare triple {73673#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {73673#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:40:21,193 INFO L290 TraceCheckUtils]: 11: Hoare triple {73673#(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; {73683#(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-27 11:40:21,193 INFO L290 TraceCheckUtils]: 12: Hoare triple {73683#(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; {73687#(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-27 11:40:21,194 INFO L290 TraceCheckUtils]: 13: Hoare triple {73687#(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; {73691#(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-27 11:40:21,194 INFO L290 TraceCheckUtils]: 14: Hoare triple {73691#(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; {73695#(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-27 11:40:21,195 INFO L290 TraceCheckUtils]: 15: Hoare triple {73695#(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; {73699#(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-27 11:40:21,195 INFO L290 TraceCheckUtils]: 16: Hoare triple {73699#(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; {73703#(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-27 11:40:21,196 INFO L290 TraceCheckUtils]: 17: Hoare triple {73703#(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; {73707#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 7)))} is VALID [2022-04-27 11:40:21,196 INFO L290 TraceCheckUtils]: 18: Hoare triple {73707#(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; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:21,197 INFO L290 TraceCheckUtils]: 19: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:21,197 INFO L290 TraceCheckUtils]: 20: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:21,197 INFO L290 TraceCheckUtils]: 21: Hoare triple {73636#(<= (+ (* 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; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:21,198 INFO L290 TraceCheckUtils]: 22: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:21,198 INFO L290 TraceCheckUtils]: 23: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:21,198 INFO L290 TraceCheckUtils]: 24: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:21,199 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {73585#true} #111#return; {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} is VALID [2022-04-27 11:40:21,199 INFO L290 TraceCheckUtils]: 26: Hoare triple {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} is VALID [2022-04-27 11:40:21,199 INFO L272 TraceCheckUtils]: 27: Hoare triple {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {73585#true} is VALID [2022-04-27 11:40:21,199 INFO L290 TraceCheckUtils]: 28: Hoare triple {73585#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {73741#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:40:21,200 INFO L290 TraceCheckUtils]: 29: Hoare triple {73741#(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; {73741#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:40:21,200 INFO L290 TraceCheckUtils]: 30: Hoare triple {73741#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {73741#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:40:21,201 INFO L290 TraceCheckUtils]: 31: Hoare triple {73741#(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; {73751#(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-27 11:40:21,201 INFO L290 TraceCheckUtils]: 32: Hoare triple {73751#(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; {73755#(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-27 11:40:21,202 INFO L290 TraceCheckUtils]: 33: Hoare triple {73755#(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; {73759#(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-27 11:40:21,202 INFO L290 TraceCheckUtils]: 34: Hoare triple {73759#(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; {73763#(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-27 11:40:21,203 INFO L290 TraceCheckUtils]: 35: Hoare triple {73763#(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; {73767#(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-27 11:40:21,203 INFO L290 TraceCheckUtils]: 36: Hoare triple {73767#(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; {73771#(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-27 11:40:21,204 INFO L290 TraceCheckUtils]: 37: Hoare triple {73771#(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; {73775#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 7)) |student_version_#in~a|))} is VALID [2022-04-27 11:40:21,204 INFO L290 TraceCheckUtils]: 38: Hoare triple {73775#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 7)) |student_version_#in~a|))} assume !(~l~1 < ~m); {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:21,204 INFO L290 TraceCheckUtils]: 39: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:21,205 INFO L290 TraceCheckUtils]: 40: Hoare triple {73645#(<= |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; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:21,205 INFO L290 TraceCheckUtils]: 41: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:21,205 INFO L290 TraceCheckUtils]: 42: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} #res := ~y~1; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:21,205 INFO L290 TraceCheckUtils]: 43: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume true; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:21,206 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} #113#return; {73586#false} is VALID [2022-04-27 11:40:21,206 INFO L290 TraceCheckUtils]: 45: Hoare triple {73586#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {73586#false} is VALID [2022-04-27 11:40:21,206 INFO L272 TraceCheckUtils]: 46: Hoare triple {73586#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {73586#false} is VALID [2022-04-27 11:40:21,206 INFO L290 TraceCheckUtils]: 47: Hoare triple {73586#false} ~cond := #in~cond; {73586#false} is VALID [2022-04-27 11:40:21,206 INFO L290 TraceCheckUtils]: 48: Hoare triple {73586#false} assume 0 == ~cond; {73586#false} is VALID [2022-04-27 11:40:21,206 INFO L290 TraceCheckUtils]: 49: Hoare triple {73586#false} assume !false; {73586#false} is VALID [2022-04-27 11:40:21,207 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-27 11:40:21,207 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:40:22,753 INFO L290 TraceCheckUtils]: 49: Hoare triple {73586#false} assume !false; {73586#false} is VALID [2022-04-27 11:40:22,754 INFO L290 TraceCheckUtils]: 48: Hoare triple {73586#false} assume 0 == ~cond; {73586#false} is VALID [2022-04-27 11:40:22,754 INFO L290 TraceCheckUtils]: 47: Hoare triple {73586#false} ~cond := #in~cond; {73586#false} is VALID [2022-04-27 11:40:22,754 INFO L272 TraceCheckUtils]: 46: Hoare triple {73586#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {73586#false} is VALID [2022-04-27 11:40:22,754 INFO L290 TraceCheckUtils]: 45: Hoare triple {73586#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {73586#false} is VALID [2022-04-27 11:40:22,754 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} #113#return; {73586#false} is VALID [2022-04-27 11:40:22,755 INFO L290 TraceCheckUtils]: 43: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume true; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:22,755 INFO L290 TraceCheckUtils]: 42: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} #res := ~y~1; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:22,755 INFO L290 TraceCheckUtils]: 41: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:22,755 INFO L290 TraceCheckUtils]: 40: Hoare triple {73645#(<= |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; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:22,755 INFO L290 TraceCheckUtils]: 39: Hoare triple {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:22,755 INFO L290 TraceCheckUtils]: 38: Hoare triple {73848#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {73645#(<= |student_version_#in~m| (* 7 |student_version_#in~a|))} is VALID [2022-04-27 11:40:22,756 INFO L290 TraceCheckUtils]: 37: Hoare triple {73852#(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; {73848#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-27 11:40:22,756 INFO L290 TraceCheckUtils]: 36: Hoare triple {73856#(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; {73852#(or (<= |student_version_#in~m| (* 7 |student_version_#in~a|)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} is VALID [2022-04-27 11:40:22,757 INFO L290 TraceCheckUtils]: 35: Hoare triple {73860#(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; {73856#(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-27 11:40:22,757 INFO L290 TraceCheckUtils]: 34: Hoare triple {73864#(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; {73860#(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-27 11:40:22,757 INFO L290 TraceCheckUtils]: 33: Hoare triple {73868#(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; {73864#(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-27 11:40:22,758 INFO L290 TraceCheckUtils]: 32: Hoare triple {73872#(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; {73868#(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-27 11:40:22,758 INFO L290 TraceCheckUtils]: 31: Hoare triple {73876#(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; {73872#(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-27 11:40:22,759 INFO L290 TraceCheckUtils]: 30: Hoare triple {73876#(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); {73876#(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-27 11:40:22,760 INFO L290 TraceCheckUtils]: 29: Hoare triple {73876#(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; {73876#(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-27 11:40:22,760 INFO L290 TraceCheckUtils]: 28: Hoare triple {73585#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {73876#(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-27 11:40:22,760 INFO L272 TraceCheckUtils]: 27: Hoare triple {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {73585#true} is VALID [2022-04-27 11:40:22,760 INFO L290 TraceCheckUtils]: 26: Hoare triple {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} is VALID [2022-04-27 11:40:22,761 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {73585#true} #111#return; {73608#(<= (+ (* 7 main_~a~0) 1) main_~m~0)} is VALID [2022-04-27 11:40:22,761 INFO L290 TraceCheckUtils]: 24: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:22,761 INFO L290 TraceCheckUtils]: 23: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:22,761 INFO L290 TraceCheckUtils]: 22: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:22,761 INFO L290 TraceCheckUtils]: 21: Hoare triple {73636#(<= (+ (* 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; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:22,761 INFO L290 TraceCheckUtils]: 20: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:22,762 INFO L290 TraceCheckUtils]: 19: Hoare triple {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:22,762 INFO L290 TraceCheckUtils]: 18: Hoare triple {73916#(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; {73636#(<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:40:22,762 INFO L290 TraceCheckUtils]: 17: Hoare triple {73920#(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; {73916#(or (<= (+ (* 7 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-27 11:40:22,763 INFO L290 TraceCheckUtils]: 16: Hoare triple {73924#(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; {73920#(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-27 11:40:22,763 INFO L290 TraceCheckUtils]: 15: Hoare triple {73928#(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; {73924#(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-27 11:40:22,763 INFO L290 TraceCheckUtils]: 14: Hoare triple {73932#(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; {73928#(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-27 11:40:22,764 INFO L290 TraceCheckUtils]: 13: Hoare triple {73936#(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; {73932#(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-27 11:40:22,764 INFO L290 TraceCheckUtils]: 12: Hoare triple {73940#(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; {73936#(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-27 11:40:22,765 INFO L290 TraceCheckUtils]: 11: Hoare triple {73944#(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; {73940#(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-27 11:40:22,765 INFO L290 TraceCheckUtils]: 10: Hoare triple {73944#(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); {73944#(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-27 11:40:22,765 INFO L290 TraceCheckUtils]: 9: Hoare triple {73944#(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; {73944#(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-27 11:40:22,766 INFO L290 TraceCheckUtils]: 8: Hoare triple {73585#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {73944#(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-27 11:40:22,766 INFO L272 TraceCheckUtils]: 7: Hoare triple {73585#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {73585#true} is VALID [2022-04-27 11:40:22,766 INFO L290 TraceCheckUtils]: 6: Hoare triple {73585#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {73585#true} is VALID [2022-04-27 11:40:22,766 INFO L290 TraceCheckUtils]: 5: Hoare triple {73585#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {73585#true} is VALID [2022-04-27 11:40:22,766 INFO L272 TraceCheckUtils]: 4: Hoare triple {73585#true} call #t~ret10 := main(); {73585#true} is VALID [2022-04-27 11:40:22,766 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {73585#true} {73585#true} #117#return; {73585#true} is VALID [2022-04-27 11:40:22,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {73585#true} assume true; {73585#true} is VALID [2022-04-27 11:40:22,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {73585#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {73585#true} is VALID [2022-04-27 11:40:22,766 INFO L272 TraceCheckUtils]: 0: Hoare triple {73585#true} call ULTIMATE.init(); {73585#true} is VALID [2022-04-27 11:40:22,766 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-27 11:40:22,766 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [299704637] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:40:22,766 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:40:22,766 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 21, 21] total 55 [2022-04-27 11:40:22,767 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2056613920] [2022-04-27 11:40:22,767 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:40:22,767 INFO L78 Accepts]: Start accepts. Automaton has has 55 states, 55 states have (on average 1.6) internal successors, (88), 54 states have internal predecessors, (88), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 50 [2022-04-27 11:40:22,767 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:40:22,767 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 55 states, 55 states have (on average 1.6) internal successors, (88), 54 states have internal predecessors, (88), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:40:22,806 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-27 11:40:22,806 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 55 states [2022-04-27 11:40:22,806 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:40:22,807 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 55 interpolants. [2022-04-27 11:40:22,807 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=180, Invalid=2790, Unknown=0, NotChecked=0, Total=2970 [2022-04-27 11:40:22,807 INFO L87 Difference]: Start difference. First operand 419 states and 482 transitions. Second operand has 55 states, 55 states have (on average 1.6) internal successors, (88), 54 states have internal predecessors, (88), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:40:32,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:32,171 INFO L93 Difference]: Finished difference Result 434 states and 497 transitions. [2022-04-27 11:40:32,171 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-04-27 11:40:32,171 INFO L78 Accepts]: Start accepts. Automaton has has 55 states, 55 states have (on average 1.6) internal successors, (88), 54 states have internal predecessors, (88), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 50 [2022-04-27 11:40:32,171 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:40:32,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 55 states have (on average 1.6) internal successors, (88), 54 states have internal predecessors, (88), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:40:32,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 161 transitions. [2022-04-27 11:40:32,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 55 states have (on average 1.6) internal successors, (88), 54 states have internal predecessors, (88), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:40:32,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 161 transitions. [2022-04-27 11:40:32,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 161 transitions. [2022-04-27 11:40:32,264 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-27 11:40:32,273 INFO L225 Difference]: With dead ends: 434 [2022-04-27 11:40:32,273 INFO L226 Difference]: Without dead ends: 422 [2022-04-27 11:40:32,276 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 157 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 85 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1045 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=546, Invalid=6936, Unknown=0, NotChecked=0, Total=7482 [2022-04-27 11:40:32,276 INFO L413 NwaCegarLoop]: 98 mSDtfsCounter, 844 mSDsluCounter, 167 mSDsCounter, 0 mSdLazyCounter, 4236 mSolverCounterSat, 86 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 859 SdHoareTripleChecker+Valid, 265 SdHoareTripleChecker+Invalid, 4322 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 86 IncrementalHoareTripleChecker+Valid, 4236 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.8s IncrementalHoareTripleChecker+Time [2022-04-27 11:40:32,276 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [859 Valid, 265 Invalid, 4322 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [86 Valid, 4236 Invalid, 0 Unknown, 0 Unchecked, 2.8s Time] [2022-04-27 11:40:32,276 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 422 states. [2022-04-27 11:40:33,932 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 422 to 420. [2022-04-27 11:40:33,932 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:40:33,933 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-27 11:40:33,933 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-27 11:40:33,933 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-27 11:40:33,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:33,940 INFO L93 Difference]: Finished difference Result 422 states and 482 transitions. [2022-04-27 11:40:33,940 INFO L276 IsEmpty]: Start isEmpty. Operand 422 states and 482 transitions. [2022-04-27 11:40:33,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:40:33,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:40:33,942 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-27 11:40:33,942 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-27 11:40:33,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:33,949 INFO L93 Difference]: Finished difference Result 422 states and 482 transitions. [2022-04-27 11:40:33,949 INFO L276 IsEmpty]: Start isEmpty. Operand 422 states and 482 transitions. [2022-04-27 11:40:33,950 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:40:33,950 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:40:33,950 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:40:33,950 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:40:33,951 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-27 11:40:33,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 420 states to 420 states and 480 transitions. [2022-04-27 11:40:33,960 INFO L78 Accepts]: Start accepts. Automaton has 420 states and 480 transitions. Word has length 50 [2022-04-27 11:40:33,960 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:40:33,960 INFO L495 AbstractCegarLoop]: Abstraction has 420 states and 480 transitions. [2022-04-27 11:40:33,960 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 55 states, 55 states have (on average 1.6) internal successors, (88), 54 states have internal predecessors, (88), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:40:33,960 INFO L276 IsEmpty]: Start isEmpty. Operand 420 states and 480 transitions. [2022-04-27 11:40:33,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-27 11:40:33,962 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:40:33,962 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:40:33,978 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (49)] Ended with exit code 0 [2022-04-27 11:40:34,177 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 49 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable57 [2022-04-27 11:40:34,177 INFO L420 AbstractCegarLoop]: === Iteration 59 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:40:34,178 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:40:34,178 INFO L85 PathProgramCache]: Analyzing trace with hash 96500781, now seen corresponding path program 49 times [2022-04-27 11:40:34,178 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:40:34,178 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [538785883] [2022-04-27 11:40:34,178 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:40:34,178 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:40:34,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:34,198 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:40:34,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:34,207 INFO L290 TraceCheckUtils]: 0: Hoare triple {76146#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {76106#true} is VALID [2022-04-27 11:40:34,207 INFO L290 TraceCheckUtils]: 1: Hoare triple {76106#true} assume true; {76106#true} is VALID [2022-04-27 11:40:34,207 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {76106#true} {76106#true} #117#return; {76106#true} is VALID [2022-04-27 11:40:34,207 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:40:34,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:34,211 INFO L290 TraceCheckUtils]: 0: Hoare triple {76106#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {76106#true} is VALID [2022-04-27 11:40:34,211 INFO L290 TraceCheckUtils]: 1: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,211 INFO L290 TraceCheckUtils]: 2: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,211 INFO L290 TraceCheckUtils]: 3: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,211 INFO L290 TraceCheckUtils]: 4: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,211 INFO L290 TraceCheckUtils]: 5: Hoare triple {76106#true} assume !(~b~0 < ~n); {76106#true} is VALID [2022-04-27 11:40:34,211 INFO L290 TraceCheckUtils]: 6: Hoare triple {76106#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76106#true} is VALID [2022-04-27 11:40:34,211 INFO L290 TraceCheckUtils]: 7: Hoare triple {76106#true} assume !(~l~0 < ~m); {76106#true} is VALID [2022-04-27 11:40:34,211 INFO L290 TraceCheckUtils]: 8: Hoare triple {76106#true} ~x~0 := 0;~y~0 := 0; {76106#true} is VALID [2022-04-27 11:40:34,211 INFO L290 TraceCheckUtils]: 9: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,211 INFO L290 TraceCheckUtils]: 10: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,211 INFO L290 TraceCheckUtils]: 11: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,212 INFO L290 TraceCheckUtils]: 12: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,212 INFO L290 TraceCheckUtils]: 13: Hoare triple {76106#true} assume !(~x~0 < ~i~0); {76106#true} is VALID [2022-04-27 11:40:34,212 INFO L290 TraceCheckUtils]: 14: Hoare triple {76106#true} #res := ~y~0; {76106#true} is VALID [2022-04-27 11:40:34,212 INFO L290 TraceCheckUtils]: 15: Hoare triple {76106#true} assume true; {76106#true} is VALID [2022-04-27 11:40:34,212 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {76106#true} {76106#true} #111#return; {76106#true} is VALID [2022-04-27 11:40:34,212 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-27 11:40:34,216 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:34,255 INFO L290 TraceCheckUtils]: 0: Hoare triple {76106#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {76147#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:40:34,256 INFO L290 TraceCheckUtils]: 1: Hoare triple {76147#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76148#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:40:34,256 INFO L290 TraceCheckUtils]: 2: Hoare triple {76148#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76149#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:40:34,256 INFO L290 TraceCheckUtils]: 3: Hoare triple {76149#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76150#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:40:34,257 INFO L290 TraceCheckUtils]: 4: Hoare triple {76150#(<= student_version_~i~1 3)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,257 INFO L290 TraceCheckUtils]: 5: Hoare triple {76151#(<= student_version_~i~1 4)} assume !(~b~1 < ~n); {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,257 INFO L290 TraceCheckUtils]: 6: Hoare triple {76151#(<= student_version_~i~1 4)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,257 INFO L290 TraceCheckUtils]: 7: Hoare triple {76151#(<= student_version_~i~1 4)} assume !(~l~1 < ~m); {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,257 INFO L290 TraceCheckUtils]: 8: Hoare triple {76151#(<= student_version_~i~1 4)} ~x~1 := 0;~y~1 := 0; {76152#(<= student_version_~i~1 (+ student_version_~x~1 4))} is VALID [2022-04-27 11:40:34,258 INFO L290 TraceCheckUtils]: 9: Hoare triple {76152#(<= 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; {76153#(<= student_version_~i~1 (+ 3 student_version_~x~1))} is VALID [2022-04-27 11:40:34,258 INFO L290 TraceCheckUtils]: 10: Hoare triple {76153#(<= 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; {76154#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-27 11:40:34,258 INFO L290 TraceCheckUtils]: 11: Hoare triple {76154#(<= 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; {76155#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-27 11:40:34,259 INFO L290 TraceCheckUtils]: 12: Hoare triple {76155#(<= 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; {76156#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:40:34,259 INFO L290 TraceCheckUtils]: 13: Hoare triple {76156#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {76107#false} is VALID [2022-04-27 11:40:34,259 INFO L290 TraceCheckUtils]: 14: Hoare triple {76107#false} assume !(~x~1 < ~i~1); {76107#false} is VALID [2022-04-27 11:40:34,259 INFO L290 TraceCheckUtils]: 15: Hoare triple {76107#false} #res := ~y~1; {76107#false} is VALID [2022-04-27 11:40:34,259 INFO L290 TraceCheckUtils]: 16: Hoare triple {76107#false} assume true; {76107#false} is VALID [2022-04-27 11:40:34,259 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {76107#false} {76106#true} #113#return; {76107#false} is VALID [2022-04-27 11:40:34,259 INFO L272 TraceCheckUtils]: 0: Hoare triple {76106#true} call ULTIMATE.init(); {76146#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:40:34,260 INFO L290 TraceCheckUtils]: 1: Hoare triple {76146#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L290 TraceCheckUtils]: 2: Hoare triple {76106#true} assume true; {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {76106#true} {76106#true} #117#return; {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L272 TraceCheckUtils]: 4: Hoare triple {76106#true} call #t~ret10 := main(); {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L290 TraceCheckUtils]: 5: Hoare triple {76106#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L290 TraceCheckUtils]: 6: Hoare triple {76106#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L272 TraceCheckUtils]: 7: Hoare triple {76106#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L290 TraceCheckUtils]: 8: Hoare triple {76106#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L290 TraceCheckUtils]: 9: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L290 TraceCheckUtils]: 10: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L290 TraceCheckUtils]: 11: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L290 TraceCheckUtils]: 12: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L290 TraceCheckUtils]: 13: Hoare triple {76106#true} assume !(~b~0 < ~n); {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L290 TraceCheckUtils]: 14: Hoare triple {76106#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L290 TraceCheckUtils]: 15: Hoare triple {76106#true} assume !(~l~0 < ~m); {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L290 TraceCheckUtils]: 16: Hoare triple {76106#true} ~x~0 := 0;~y~0 := 0; {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L290 TraceCheckUtils]: 17: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,260 INFO L290 TraceCheckUtils]: 18: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,261 INFO L290 TraceCheckUtils]: 19: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,261 INFO L290 TraceCheckUtils]: 20: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,261 INFO L290 TraceCheckUtils]: 21: Hoare triple {76106#true} assume !(~x~0 < ~i~0); {76106#true} is VALID [2022-04-27 11:40:34,261 INFO L290 TraceCheckUtils]: 22: Hoare triple {76106#true} #res := ~y~0; {76106#true} is VALID [2022-04-27 11:40:34,261 INFO L290 TraceCheckUtils]: 23: Hoare triple {76106#true} assume true; {76106#true} is VALID [2022-04-27 11:40:34,261 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {76106#true} {76106#true} #111#return; {76106#true} is VALID [2022-04-27 11:40:34,261 INFO L290 TraceCheckUtils]: 25: Hoare triple {76106#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {76106#true} is VALID [2022-04-27 11:40:34,261 INFO L272 TraceCheckUtils]: 26: Hoare triple {76106#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {76106#true} is VALID [2022-04-27 11:40:34,261 INFO L290 TraceCheckUtils]: 27: Hoare triple {76106#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {76147#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:40:34,261 INFO L290 TraceCheckUtils]: 28: Hoare triple {76147#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76148#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:40:34,262 INFO L290 TraceCheckUtils]: 29: Hoare triple {76148#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76149#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:40:34,262 INFO L290 TraceCheckUtils]: 30: Hoare triple {76149#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76150#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:40:34,262 INFO L290 TraceCheckUtils]: 31: Hoare triple {76150#(<= student_version_~i~1 3)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,263 INFO L290 TraceCheckUtils]: 32: Hoare triple {76151#(<= student_version_~i~1 4)} assume !(~b~1 < ~n); {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,263 INFO L290 TraceCheckUtils]: 33: Hoare triple {76151#(<= student_version_~i~1 4)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,263 INFO L290 TraceCheckUtils]: 34: Hoare triple {76151#(<= student_version_~i~1 4)} assume !(~l~1 < ~m); {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,263 INFO L290 TraceCheckUtils]: 35: Hoare triple {76151#(<= student_version_~i~1 4)} ~x~1 := 0;~y~1 := 0; {76152#(<= student_version_~i~1 (+ student_version_~x~1 4))} is VALID [2022-04-27 11:40:34,263 INFO L290 TraceCheckUtils]: 36: Hoare triple {76152#(<= 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; {76153#(<= student_version_~i~1 (+ 3 student_version_~x~1))} is VALID [2022-04-27 11:40:34,264 INFO L290 TraceCheckUtils]: 37: Hoare triple {76153#(<= 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; {76154#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-27 11:40:34,264 INFO L290 TraceCheckUtils]: 38: Hoare triple {76154#(<= 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; {76155#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-27 11:40:34,264 INFO L290 TraceCheckUtils]: 39: Hoare triple {76155#(<= 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; {76156#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:40:34,265 INFO L290 TraceCheckUtils]: 40: Hoare triple {76156#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {76107#false} is VALID [2022-04-27 11:40:34,265 INFO L290 TraceCheckUtils]: 41: Hoare triple {76107#false} assume !(~x~1 < ~i~1); {76107#false} is VALID [2022-04-27 11:40:34,265 INFO L290 TraceCheckUtils]: 42: Hoare triple {76107#false} #res := ~y~1; {76107#false} is VALID [2022-04-27 11:40:34,265 INFO L290 TraceCheckUtils]: 43: Hoare triple {76107#false} assume true; {76107#false} is VALID [2022-04-27 11:40:34,265 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {76107#false} {76106#true} #113#return; {76107#false} is VALID [2022-04-27 11:40:34,265 INFO L290 TraceCheckUtils]: 45: Hoare triple {76107#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {76107#false} is VALID [2022-04-27 11:40:34,265 INFO L272 TraceCheckUtils]: 46: Hoare triple {76107#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {76107#false} is VALID [2022-04-27 11:40:34,265 INFO L290 TraceCheckUtils]: 47: Hoare triple {76107#false} ~cond := #in~cond; {76107#false} is VALID [2022-04-27 11:40:34,265 INFO L290 TraceCheckUtils]: 48: Hoare triple {76107#false} assume 0 == ~cond; {76107#false} is VALID [2022-04-27 11:40:34,265 INFO L290 TraceCheckUtils]: 49: Hoare triple {76107#false} assume !false; {76107#false} is VALID [2022-04-27 11:40:34,265 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-27 11:40:34,265 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:40:34,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [538785883] [2022-04-27 11:40:34,265 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [538785883] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:40:34,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1617027508] [2022-04-27 11:40:34,265 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-04-27 11:40:34,266 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:40:34,266 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:40:34,266 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-27 11:40:34,268 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-27 11:40:34,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:34,346 INFO L263 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 11:40:34,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:34,352 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:40:34,471 INFO L272 TraceCheckUtils]: 0: Hoare triple {76106#true} call ULTIMATE.init(); {76106#true} is VALID [2022-04-27 11:40:34,471 INFO L290 TraceCheckUtils]: 1: Hoare triple {76106#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {76106#true} is VALID [2022-04-27 11:40:34,471 INFO L290 TraceCheckUtils]: 2: Hoare triple {76106#true} assume true; {76106#true} is VALID [2022-04-27 11:40:34,471 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {76106#true} {76106#true} #117#return; {76106#true} is VALID [2022-04-27 11:40:34,471 INFO L272 TraceCheckUtils]: 4: Hoare triple {76106#true} call #t~ret10 := main(); {76106#true} is VALID [2022-04-27 11:40:34,471 INFO L290 TraceCheckUtils]: 5: Hoare triple {76106#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {76106#true} is VALID [2022-04-27 11:40:34,471 INFO L290 TraceCheckUtils]: 6: Hoare triple {76106#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {76106#true} is VALID [2022-04-27 11:40:34,471 INFO L272 TraceCheckUtils]: 7: Hoare triple {76106#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {76106#true} is VALID [2022-04-27 11:40:34,471 INFO L290 TraceCheckUtils]: 8: Hoare triple {76106#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 9: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 10: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 11: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 12: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 13: Hoare triple {76106#true} assume !(~b~0 < ~n); {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 14: Hoare triple {76106#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 15: Hoare triple {76106#true} assume !(~l~0 < ~m); {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 16: Hoare triple {76106#true} ~x~0 := 0;~y~0 := 0; {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 17: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 18: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 19: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 20: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 21: Hoare triple {76106#true} assume !(~x~0 < ~i~0); {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 22: Hoare triple {76106#true} #res := ~y~0; {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 23: Hoare triple {76106#true} assume true; {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {76106#true} {76106#true} #111#return; {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L290 TraceCheckUtils]: 25: Hoare triple {76106#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {76106#true} is VALID [2022-04-27 11:40:34,472 INFO L272 TraceCheckUtils]: 26: Hoare triple {76106#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {76106#true} is VALID [2022-04-27 11:40:34,473 INFO L290 TraceCheckUtils]: 27: Hoare triple {76106#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {76147#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:40:34,473 INFO L290 TraceCheckUtils]: 28: Hoare triple {76147#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76148#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:40:34,473 INFO L290 TraceCheckUtils]: 29: Hoare triple {76148#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76149#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:40:34,474 INFO L290 TraceCheckUtils]: 30: Hoare triple {76149#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76150#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:40:34,474 INFO L290 TraceCheckUtils]: 31: Hoare triple {76150#(<= student_version_~i~1 3)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,474 INFO L290 TraceCheckUtils]: 32: Hoare triple {76151#(<= student_version_~i~1 4)} assume !(~b~1 < ~n); {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,474 INFO L290 TraceCheckUtils]: 33: Hoare triple {76151#(<= student_version_~i~1 4)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,474 INFO L290 TraceCheckUtils]: 34: Hoare triple {76151#(<= student_version_~i~1 4)} assume !(~l~1 < ~m); {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,475 INFO L290 TraceCheckUtils]: 35: Hoare triple {76151#(<= student_version_~i~1 4)} ~x~1 := 0;~y~1 := 0; {76265#(and (<= student_version_~i~1 4) (<= 0 student_version_~x~1))} is VALID [2022-04-27 11:40:34,475 INFO L290 TraceCheckUtils]: 36: Hoare triple {76265#(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; {76269#(and (<= 1 student_version_~x~1) (<= student_version_~i~1 4))} is VALID [2022-04-27 11:40:34,475 INFO L290 TraceCheckUtils]: 37: Hoare triple {76269#(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; {76273#(and (<= 2 student_version_~x~1) (<= student_version_~i~1 4))} is VALID [2022-04-27 11:40:34,476 INFO L290 TraceCheckUtils]: 38: Hoare triple {76273#(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; {76277#(and (<= student_version_~i~1 4) (<= 3 student_version_~x~1))} is VALID [2022-04-27 11:40:34,476 INFO L290 TraceCheckUtils]: 39: Hoare triple {76277#(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; {76281#(and (<= 4 student_version_~x~1) (<= student_version_~i~1 4))} is VALID [2022-04-27 11:40:34,476 INFO L290 TraceCheckUtils]: 40: Hoare triple {76281#(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; {76107#false} is VALID [2022-04-27 11:40:34,476 INFO L290 TraceCheckUtils]: 41: Hoare triple {76107#false} assume !(~x~1 < ~i~1); {76107#false} is VALID [2022-04-27 11:40:34,476 INFO L290 TraceCheckUtils]: 42: Hoare triple {76107#false} #res := ~y~1; {76107#false} is VALID [2022-04-27 11:40:34,476 INFO L290 TraceCheckUtils]: 43: Hoare triple {76107#false} assume true; {76107#false} is VALID [2022-04-27 11:40:34,477 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {76107#false} {76106#true} #113#return; {76107#false} is VALID [2022-04-27 11:40:34,477 INFO L290 TraceCheckUtils]: 45: Hoare triple {76107#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {76107#false} is VALID [2022-04-27 11:40:34,477 INFO L272 TraceCheckUtils]: 46: Hoare triple {76107#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {76107#false} is VALID [2022-04-27 11:40:34,477 INFO L290 TraceCheckUtils]: 47: Hoare triple {76107#false} ~cond := #in~cond; {76107#false} is VALID [2022-04-27 11:40:34,477 INFO L290 TraceCheckUtils]: 48: Hoare triple {76107#false} assume 0 == ~cond; {76107#false} is VALID [2022-04-27 11:40:34,477 INFO L290 TraceCheckUtils]: 49: Hoare triple {76107#false} assume !false; {76107#false} is VALID [2022-04-27 11:40:34,477 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-27 11:40:34,477 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:40:34,572 INFO L290 TraceCheckUtils]: 49: Hoare triple {76107#false} assume !false; {76107#false} is VALID [2022-04-27 11:40:34,572 INFO L290 TraceCheckUtils]: 48: Hoare triple {76107#false} assume 0 == ~cond; {76107#false} is VALID [2022-04-27 11:40:34,572 INFO L290 TraceCheckUtils]: 47: Hoare triple {76107#false} ~cond := #in~cond; {76107#false} is VALID [2022-04-27 11:40:34,572 INFO L272 TraceCheckUtils]: 46: Hoare triple {76107#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {76107#false} is VALID [2022-04-27 11:40:34,572 INFO L290 TraceCheckUtils]: 45: Hoare triple {76107#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {76107#false} is VALID [2022-04-27 11:40:34,572 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {76107#false} {76106#true} #113#return; {76107#false} is VALID [2022-04-27 11:40:34,572 INFO L290 TraceCheckUtils]: 43: Hoare triple {76107#false} assume true; {76107#false} is VALID [2022-04-27 11:40:34,572 INFO L290 TraceCheckUtils]: 42: Hoare triple {76107#false} #res := ~y~1; {76107#false} is VALID [2022-04-27 11:40:34,572 INFO L290 TraceCheckUtils]: 41: Hoare triple {76107#false} assume !(~x~1 < ~i~1); {76107#false} is VALID [2022-04-27 11:40:34,572 INFO L290 TraceCheckUtils]: 40: Hoare triple {76156#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {76107#false} is VALID [2022-04-27 11:40:34,573 INFO L290 TraceCheckUtils]: 39: Hoare triple {76155#(<= 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; {76156#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:40:34,573 INFO L290 TraceCheckUtils]: 38: Hoare triple {76154#(<= 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; {76155#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-27 11:40:34,573 INFO L290 TraceCheckUtils]: 37: Hoare triple {76153#(<= 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; {76154#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-27 11:40:34,574 INFO L290 TraceCheckUtils]: 36: Hoare triple {76152#(<= 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; {76153#(<= student_version_~i~1 (+ 3 student_version_~x~1))} is VALID [2022-04-27 11:40:34,574 INFO L290 TraceCheckUtils]: 35: Hoare triple {76151#(<= student_version_~i~1 4)} ~x~1 := 0;~y~1 := 0; {76152#(<= student_version_~i~1 (+ student_version_~x~1 4))} is VALID [2022-04-27 11:40:34,574 INFO L290 TraceCheckUtils]: 34: Hoare triple {76151#(<= student_version_~i~1 4)} assume !(~l~1 < ~m); {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,574 INFO L290 TraceCheckUtils]: 33: Hoare triple {76151#(<= student_version_~i~1 4)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,575 INFO L290 TraceCheckUtils]: 32: Hoare triple {76151#(<= student_version_~i~1 4)} assume !(~b~1 < ~n); {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,575 INFO L290 TraceCheckUtils]: 31: Hoare triple {76150#(<= student_version_~i~1 3)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76151#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:40:34,575 INFO L290 TraceCheckUtils]: 30: Hoare triple {76149#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76150#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:40:34,575 INFO L290 TraceCheckUtils]: 29: Hoare triple {76148#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76149#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:40:34,576 INFO L290 TraceCheckUtils]: 28: Hoare triple {76147#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {76148#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:40:34,576 INFO L290 TraceCheckUtils]: 27: Hoare triple {76106#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {76147#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:40:34,576 INFO L272 TraceCheckUtils]: 26: Hoare triple {76106#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {76106#true} is VALID [2022-04-27 11:40:34,576 INFO L290 TraceCheckUtils]: 25: Hoare triple {76106#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {76106#true} is VALID [2022-04-27 11:40:34,576 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {76106#true} {76106#true} #111#return; {76106#true} is VALID [2022-04-27 11:40:34,576 INFO L290 TraceCheckUtils]: 23: Hoare triple {76106#true} assume true; {76106#true} is VALID [2022-04-27 11:40:34,576 INFO L290 TraceCheckUtils]: 22: Hoare triple {76106#true} #res := ~y~0; {76106#true} is VALID [2022-04-27 11:40:34,576 INFO L290 TraceCheckUtils]: 21: Hoare triple {76106#true} assume !(~x~0 < ~i~0); {76106#true} is VALID [2022-04-27 11:40:34,576 INFO L290 TraceCheckUtils]: 20: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,576 INFO L290 TraceCheckUtils]: 19: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,576 INFO L290 TraceCheckUtils]: 18: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L290 TraceCheckUtils]: 17: Hoare triple {76106#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L290 TraceCheckUtils]: 16: Hoare triple {76106#true} ~x~0 := 0;~y~0 := 0; {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L290 TraceCheckUtils]: 15: Hoare triple {76106#true} assume !(~l~0 < ~m); {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L290 TraceCheckUtils]: 14: Hoare triple {76106#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L290 TraceCheckUtils]: 13: Hoare triple {76106#true} assume !(~b~0 < ~n); {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L290 TraceCheckUtils]: 12: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L290 TraceCheckUtils]: 11: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L290 TraceCheckUtils]: 10: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L290 TraceCheckUtils]: 9: Hoare triple {76106#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L290 TraceCheckUtils]: 8: Hoare triple {76106#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L272 TraceCheckUtils]: 7: Hoare triple {76106#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L290 TraceCheckUtils]: 6: Hoare triple {76106#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L290 TraceCheckUtils]: 5: Hoare triple {76106#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L272 TraceCheckUtils]: 4: Hoare triple {76106#true} call #t~ret10 := main(); {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {76106#true} {76106#true} #117#return; {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L290 TraceCheckUtils]: 2: Hoare triple {76106#true} assume true; {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L290 TraceCheckUtils]: 1: Hoare triple {76106#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {76106#true} is VALID [2022-04-27 11:40:34,577 INFO L272 TraceCheckUtils]: 0: Hoare triple {76106#true} call ULTIMATE.init(); {76106#true} is VALID [2022-04-27 11:40:34,584 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-27 11:40:34,585 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1617027508] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:40:34,585 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:40:34,585 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12, 12] total 18 [2022-04-27 11:40:34,592 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [650750051] [2022-04-27 11:40:34,592 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:40:34,592 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 2.388888888888889) internal successors, (43), 17 states have internal predecessors, (43), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 50 [2022-04-27 11:40:34,592 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:40:34,592 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 2.388888888888889) internal successors, (43), 17 states have internal predecessors, (43), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:40:34,610 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-27 11:40:34,610 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-27 11:40:34,610 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:40:34,610 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-27 11:40:34,610 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=223, Unknown=0, NotChecked=0, Total=306 [2022-04-27 11:40:34,610 INFO L87 Difference]: Start difference. First operand 420 states and 480 transitions. Second operand has 18 states, 18 states have (on average 2.388888888888889) internal successors, (43), 17 states have internal predecessors, (43), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:40:37,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:37,405 INFO L93 Difference]: Finished difference Result 540 states and 625 transitions. [2022-04-27 11:40:37,405 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-27 11:40:37,405 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 2.388888888888889) internal successors, (43), 17 states have internal predecessors, (43), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 50 [2022-04-27 11:40:37,405 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:40:37,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 2.388888888888889) internal successors, (43), 17 states have internal predecessors, (43), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:40:37,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 95 transitions. [2022-04-27 11:40:37,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 2.388888888888889) internal successors, (43), 17 states have internal predecessors, (43), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:40:37,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 95 transitions. [2022-04-27 11:40:37,407 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 95 transitions. [2022-04-27 11:40:37,455 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-27 11:40:37,468 INFO L225 Difference]: With dead ends: 540 [2022-04-27 11:40:37,468 INFO L226 Difference]: Without dead ends: 502 [2022-04-27 11:40:37,471 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 100 SyntacticMatches, 1 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 268 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=372, Invalid=1034, Unknown=0, NotChecked=0, Total=1406 [2022-04-27 11:40:37,471 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 96 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 327 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 101 SdHoareTripleChecker+Valid, 76 SdHoareTripleChecker+Invalid, 349 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 327 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:40:37,471 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [101 Valid, 76 Invalid, 349 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 327 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 11:40:37,471 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 502 states. [2022-04-27 11:40:40,135 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 502 to 478. [2022-04-27 11:40:40,135 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:40:40,136 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-27 11:40:40,136 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-27 11:40:40,136 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-27 11:40:40,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:40,146 INFO L93 Difference]: Finished difference Result 502 states and 571 transitions. [2022-04-27 11:40:40,146 INFO L276 IsEmpty]: Start isEmpty. Operand 502 states and 571 transitions. [2022-04-27 11:40:40,148 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:40:40,148 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:40:40,148 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-27 11:40:40,148 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-27 11:40:40,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:40,157 INFO L93 Difference]: Finished difference Result 502 states and 571 transitions. [2022-04-27 11:40:40,158 INFO L276 IsEmpty]: Start isEmpty. Operand 502 states and 571 transitions. [2022-04-27 11:40:40,159 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:40:40,159 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:40:40,159 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:40:40,159 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:40:40,159 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-27 11:40:40,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 478 states to 478 states and 547 transitions. [2022-04-27 11:40:40,170 INFO L78 Accepts]: Start accepts. Automaton has 478 states and 547 transitions. Word has length 50 [2022-04-27 11:40:40,170 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:40:40,170 INFO L495 AbstractCegarLoop]: Abstraction has 478 states and 547 transitions. [2022-04-27 11:40:40,170 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 2.388888888888889) internal successors, (43), 17 states have internal predecessors, (43), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:40:40,170 INFO L276 IsEmpty]: Start isEmpty. Operand 478 states and 547 transitions. [2022-04-27 11:40:40,172 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-27 11:40:40,172 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:40:40,172 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:40:40,191 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-27 11:40:40,383 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 50 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable58 [2022-04-27 11:40:40,383 INFO L420 AbstractCegarLoop]: === Iteration 60 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:40:40,383 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:40:40,384 INFO L85 PathProgramCache]: Analyzing trace with hash -2133989358, now seen corresponding path program 50 times [2022-04-27 11:40:40,384 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:40:40,384 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [983168532] [2022-04-27 11:40:40,384 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:40:40,384 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:40:40,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:40,400 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:40:40,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:40,402 INFO L290 TraceCheckUtils]: 0: Hoare triple {79017#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {78977#true} is VALID [2022-04-27 11:40:40,402 INFO L290 TraceCheckUtils]: 1: Hoare triple {78977#true} assume true; {78977#true} is VALID [2022-04-27 11:40:40,402 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {78977#true} {78977#true} #117#return; {78977#true} is VALID [2022-04-27 11:40:40,402 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:40:40,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:40,443 INFO L290 TraceCheckUtils]: 0: Hoare triple {78977#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {79018#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:40:40,443 INFO L290 TraceCheckUtils]: 1: Hoare triple {79018#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79019#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:40:40,444 INFO L290 TraceCheckUtils]: 2: Hoare triple {79019#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79020#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:40:40,444 INFO L290 TraceCheckUtils]: 3: Hoare triple {79020#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79021#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:40:40,444 INFO L290 TraceCheckUtils]: 4: Hoare triple {79021#(<= correct_version_~i~0 3)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,444 INFO L290 TraceCheckUtils]: 5: Hoare triple {79022#(<= correct_version_~i~0 4)} assume !(~b~0 < ~n); {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,444 INFO L290 TraceCheckUtils]: 6: Hoare triple {79022#(<= correct_version_~i~0 4)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,445 INFO L290 TraceCheckUtils]: 7: Hoare triple {79022#(<= correct_version_~i~0 4)} assume !(~l~0 < ~m); {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,445 INFO L290 TraceCheckUtils]: 8: Hoare triple {79022#(<= correct_version_~i~0 4)} ~x~0 := 0;~y~0 := 0; {79023#(<= correct_version_~i~0 (+ correct_version_~x~0 4))} is VALID [2022-04-27 11:40:40,445 INFO L290 TraceCheckUtils]: 9: Hoare triple {79023#(<= 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; {79024#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} is VALID [2022-04-27 11:40:40,446 INFO L290 TraceCheckUtils]: 10: Hoare triple {79024#(<= 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; {79025#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-27 11:40:40,446 INFO L290 TraceCheckUtils]: 11: Hoare triple {79025#(<= 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; {79026#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-27 11:40:40,446 INFO L290 TraceCheckUtils]: 12: Hoare triple {79026#(<= 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; {79027#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:40:40,446 INFO L290 TraceCheckUtils]: 13: Hoare triple {79027#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {78978#false} is VALID [2022-04-27 11:40:40,446 INFO L290 TraceCheckUtils]: 14: Hoare triple {78978#false} assume !(~x~0 < ~i~0); {78978#false} is VALID [2022-04-27 11:40:40,446 INFO L290 TraceCheckUtils]: 15: Hoare triple {78978#false} #res := ~y~0; {78978#false} is VALID [2022-04-27 11:40:40,447 INFO L290 TraceCheckUtils]: 16: Hoare triple {78978#false} assume true; {78978#false} is VALID [2022-04-27 11:40:40,447 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {78978#false} {78977#true} #111#return; {78978#false} is VALID [2022-04-27 11:40:40,447 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-27 11:40:40,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:40,451 INFO L290 TraceCheckUtils]: 0: Hoare triple {78977#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {78977#true} is VALID [2022-04-27 11:40:40,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {78977#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78977#true} is VALID [2022-04-27 11:40:40,451 INFO L290 TraceCheckUtils]: 2: Hoare triple {78977#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78977#true} is VALID [2022-04-27 11:40:40,451 INFO L290 TraceCheckUtils]: 3: Hoare triple {78977#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78977#true} is VALID [2022-04-27 11:40:40,451 INFO L290 TraceCheckUtils]: 4: Hoare triple {78977#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78977#true} is VALID [2022-04-27 11:40:40,451 INFO L290 TraceCheckUtils]: 5: Hoare triple {78977#true} assume !(~b~1 < ~n); {78977#true} is VALID [2022-04-27 11:40:40,451 INFO L290 TraceCheckUtils]: 6: Hoare triple {78977#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {78977#true} is VALID [2022-04-27 11:40:40,452 INFO L290 TraceCheckUtils]: 7: Hoare triple {78977#true} assume !(~l~1 < ~m); {78977#true} is VALID [2022-04-27 11:40:40,452 INFO L290 TraceCheckUtils]: 8: Hoare triple {78977#true} ~x~1 := 0;~y~1 := 0; {78977#true} is VALID [2022-04-27 11:40:40,452 INFO L290 TraceCheckUtils]: 9: Hoare triple {78977#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78977#true} is VALID [2022-04-27 11:40:40,452 INFO L290 TraceCheckUtils]: 10: Hoare triple {78977#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78977#true} is VALID [2022-04-27 11:40:40,452 INFO L290 TraceCheckUtils]: 11: Hoare triple {78977#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78977#true} is VALID [2022-04-27 11:40:40,452 INFO L290 TraceCheckUtils]: 12: Hoare triple {78977#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78977#true} is VALID [2022-04-27 11:40:40,452 INFO L290 TraceCheckUtils]: 13: Hoare triple {78977#true} assume !(~x~1 < ~i~1); {78977#true} is VALID [2022-04-27 11:40:40,452 INFO L290 TraceCheckUtils]: 14: Hoare triple {78977#true} #res := ~y~1; {78977#true} is VALID [2022-04-27 11:40:40,452 INFO L290 TraceCheckUtils]: 15: Hoare triple {78977#true} assume true; {78977#true} is VALID [2022-04-27 11:40:40,452 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {78977#true} {78978#false} #113#return; {78978#false} is VALID [2022-04-27 11:40:40,452 INFO L272 TraceCheckUtils]: 0: Hoare triple {78977#true} call ULTIMATE.init(); {79017#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:40:40,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {79017#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {78977#true} is VALID [2022-04-27 11:40:40,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {78977#true} assume true; {78977#true} is VALID [2022-04-27 11:40:40,452 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {78977#true} {78977#true} #117#return; {78977#true} is VALID [2022-04-27 11:40:40,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {78977#true} call #t~ret10 := main(); {78977#true} is VALID [2022-04-27 11:40:40,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {78977#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {78977#true} is VALID [2022-04-27 11:40:40,453 INFO L290 TraceCheckUtils]: 6: Hoare triple {78977#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {78977#true} is VALID [2022-04-27 11:40:40,453 INFO L272 TraceCheckUtils]: 7: Hoare triple {78977#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {78977#true} is VALID [2022-04-27 11:40:40,453 INFO L290 TraceCheckUtils]: 8: Hoare triple {78977#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {79018#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:40:40,453 INFO L290 TraceCheckUtils]: 9: Hoare triple {79018#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79019#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:40:40,454 INFO L290 TraceCheckUtils]: 10: Hoare triple {79019#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79020#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:40:40,454 INFO L290 TraceCheckUtils]: 11: Hoare triple {79020#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79021#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:40:40,454 INFO L290 TraceCheckUtils]: 12: Hoare triple {79021#(<= correct_version_~i~0 3)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,454 INFO L290 TraceCheckUtils]: 13: Hoare triple {79022#(<= correct_version_~i~0 4)} assume !(~b~0 < ~n); {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,454 INFO L290 TraceCheckUtils]: 14: Hoare triple {79022#(<= correct_version_~i~0 4)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,455 INFO L290 TraceCheckUtils]: 15: Hoare triple {79022#(<= correct_version_~i~0 4)} assume !(~l~0 < ~m); {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,455 INFO L290 TraceCheckUtils]: 16: Hoare triple {79022#(<= correct_version_~i~0 4)} ~x~0 := 0;~y~0 := 0; {79023#(<= correct_version_~i~0 (+ correct_version_~x~0 4))} is VALID [2022-04-27 11:40:40,455 INFO L290 TraceCheckUtils]: 17: Hoare triple {79023#(<= 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; {79024#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} is VALID [2022-04-27 11:40:40,455 INFO L290 TraceCheckUtils]: 18: Hoare triple {79024#(<= 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; {79025#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-27 11:40:40,456 INFO L290 TraceCheckUtils]: 19: Hoare triple {79025#(<= 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; {79026#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-27 11:40:40,456 INFO L290 TraceCheckUtils]: 20: Hoare triple {79026#(<= 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; {79027#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:40:40,457 INFO L290 TraceCheckUtils]: 21: Hoare triple {79027#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {78978#false} is VALID [2022-04-27 11:40:40,457 INFO L290 TraceCheckUtils]: 22: Hoare triple {78978#false} assume !(~x~0 < ~i~0); {78978#false} is VALID [2022-04-27 11:40:40,457 INFO L290 TraceCheckUtils]: 23: Hoare triple {78978#false} #res := ~y~0; {78978#false} is VALID [2022-04-27 11:40:40,457 INFO L290 TraceCheckUtils]: 24: Hoare triple {78978#false} assume true; {78978#false} is VALID [2022-04-27 11:40:40,457 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {78978#false} {78977#true} #111#return; {78978#false} is VALID [2022-04-27 11:40:40,457 INFO L290 TraceCheckUtils]: 26: Hoare triple {78978#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {78978#false} is VALID [2022-04-27 11:40:40,457 INFO L272 TraceCheckUtils]: 27: Hoare triple {78978#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {78977#true} is VALID [2022-04-27 11:40:40,457 INFO L290 TraceCheckUtils]: 28: Hoare triple {78977#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {78977#true} is VALID [2022-04-27 11:40:40,457 INFO L290 TraceCheckUtils]: 29: Hoare triple {78977#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78977#true} is VALID [2022-04-27 11:40:40,457 INFO L290 TraceCheckUtils]: 30: Hoare triple {78977#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78977#true} is VALID [2022-04-27 11:40:40,457 INFO L290 TraceCheckUtils]: 31: Hoare triple {78977#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78977#true} is VALID [2022-04-27 11:40:40,457 INFO L290 TraceCheckUtils]: 32: Hoare triple {78977#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78977#true} is VALID [2022-04-27 11:40:40,457 INFO L290 TraceCheckUtils]: 33: Hoare triple {78977#true} assume !(~b~1 < ~n); {78977#true} is VALID [2022-04-27 11:40:40,457 INFO L290 TraceCheckUtils]: 34: Hoare triple {78977#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {78977#true} is VALID [2022-04-27 11:40:40,457 INFO L290 TraceCheckUtils]: 35: Hoare triple {78977#true} assume !(~l~1 < ~m); {78977#true} is VALID [2022-04-27 11:40:40,457 INFO L290 TraceCheckUtils]: 36: Hoare triple {78977#true} ~x~1 := 0;~y~1 := 0; {78977#true} is VALID [2022-04-27 11:40:40,457 INFO L290 TraceCheckUtils]: 37: Hoare triple {78977#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78977#true} is VALID [2022-04-27 11:40:40,458 INFO L290 TraceCheckUtils]: 38: Hoare triple {78977#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78977#true} is VALID [2022-04-27 11:40:40,458 INFO L290 TraceCheckUtils]: 39: Hoare triple {78977#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78977#true} is VALID [2022-04-27 11:40:40,458 INFO L290 TraceCheckUtils]: 40: Hoare triple {78977#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78977#true} is VALID [2022-04-27 11:40:40,458 INFO L290 TraceCheckUtils]: 41: Hoare triple {78977#true} assume !(~x~1 < ~i~1); {78977#true} is VALID [2022-04-27 11:40:40,458 INFO L290 TraceCheckUtils]: 42: Hoare triple {78977#true} #res := ~y~1; {78977#true} is VALID [2022-04-27 11:40:40,458 INFO L290 TraceCheckUtils]: 43: Hoare triple {78977#true} assume true; {78977#true} is VALID [2022-04-27 11:40:40,458 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {78977#true} {78978#false} #113#return; {78978#false} is VALID [2022-04-27 11:40:40,458 INFO L290 TraceCheckUtils]: 45: Hoare triple {78978#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {78978#false} is VALID [2022-04-27 11:40:40,458 INFO L272 TraceCheckUtils]: 46: Hoare triple {78978#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {78978#false} is VALID [2022-04-27 11:40:40,458 INFO L290 TraceCheckUtils]: 47: Hoare triple {78978#false} ~cond := #in~cond; {78978#false} is VALID [2022-04-27 11:40:40,458 INFO L290 TraceCheckUtils]: 48: Hoare triple {78978#false} assume 0 == ~cond; {78978#false} is VALID [2022-04-27 11:40:40,458 INFO L290 TraceCheckUtils]: 49: Hoare triple {78978#false} assume !false; {78978#false} is VALID [2022-04-27 11:40:40,458 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-27 11:40:40,458 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:40:40,458 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [983168532] [2022-04-27 11:40:40,458 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [983168532] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:40:40,458 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1093828126] [2022-04-27 11:40:40,459 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:40:40,459 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:40:40,459 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:40:40,460 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-27 11:40:40,460 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-27 11:40:40,531 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:40:40,531 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:40:40,532 INFO L263 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 11:40:40,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:40,544 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:40:40,727 INFO L272 TraceCheckUtils]: 0: Hoare triple {78977#true} call ULTIMATE.init(); {78977#true} is VALID [2022-04-27 11:40:40,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {78977#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {78977#true} is VALID [2022-04-27 11:40:40,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {78977#true} assume true; {78977#true} is VALID [2022-04-27 11:40:40,727 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {78977#true} {78977#true} #117#return; {78977#true} is VALID [2022-04-27 11:40:40,727 INFO L272 TraceCheckUtils]: 4: Hoare triple {78977#true} call #t~ret10 := main(); {78977#true} is VALID [2022-04-27 11:40:40,727 INFO L290 TraceCheckUtils]: 5: Hoare triple {78977#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {78977#true} is VALID [2022-04-27 11:40:40,728 INFO L290 TraceCheckUtils]: 6: Hoare triple {78977#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {78977#true} is VALID [2022-04-27 11:40:40,728 INFO L272 TraceCheckUtils]: 7: Hoare triple {78977#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {78977#true} is VALID [2022-04-27 11:40:40,733 INFO L290 TraceCheckUtils]: 8: Hoare triple {78977#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {79018#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:40:40,734 INFO L290 TraceCheckUtils]: 9: Hoare triple {79018#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79019#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:40:40,734 INFO L290 TraceCheckUtils]: 10: Hoare triple {79019#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79020#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:40:40,735 INFO L290 TraceCheckUtils]: 11: Hoare triple {79020#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79021#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:40:40,735 INFO L290 TraceCheckUtils]: 12: Hoare triple {79021#(<= correct_version_~i~0 3)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,736 INFO L290 TraceCheckUtils]: 13: Hoare triple {79022#(<= correct_version_~i~0 4)} assume !(~b~0 < ~n); {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,736 INFO L290 TraceCheckUtils]: 14: Hoare triple {79022#(<= correct_version_~i~0 4)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,736 INFO L290 TraceCheckUtils]: 15: Hoare triple {79022#(<= correct_version_~i~0 4)} assume !(~l~0 < ~m); {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,736 INFO L290 TraceCheckUtils]: 16: Hoare triple {79022#(<= correct_version_~i~0 4)} ~x~0 := 0;~y~0 := 0; {79079#(and (<= 0 correct_version_~x~0) (<= correct_version_~i~0 4))} is VALID [2022-04-27 11:40:40,737 INFO L290 TraceCheckUtils]: 17: Hoare triple {79079#(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; {79083#(and (<= correct_version_~i~0 4) (<= 1 correct_version_~x~0))} is VALID [2022-04-27 11:40:40,737 INFO L290 TraceCheckUtils]: 18: Hoare triple {79083#(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; {79087#(and (<= 2 correct_version_~x~0) (<= correct_version_~i~0 4))} is VALID [2022-04-27 11:40:40,738 INFO L290 TraceCheckUtils]: 19: Hoare triple {79087#(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; {79091#(and (<= correct_version_~i~0 4) (<= 3 correct_version_~x~0))} is VALID [2022-04-27 11:40:40,738 INFO L290 TraceCheckUtils]: 20: Hoare triple {79091#(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; {79095#(and (<= 4 correct_version_~x~0) (<= correct_version_~i~0 4))} is VALID [2022-04-27 11:40:40,738 INFO L290 TraceCheckUtils]: 21: Hoare triple {79095#(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; {78978#false} is VALID [2022-04-27 11:40:40,738 INFO L290 TraceCheckUtils]: 22: Hoare triple {78978#false} assume !(~x~0 < ~i~0); {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 23: Hoare triple {78978#false} #res := ~y~0; {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 24: Hoare triple {78978#false} assume true; {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {78978#false} {78977#true} #111#return; {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 26: Hoare triple {78978#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L272 TraceCheckUtils]: 27: Hoare triple {78978#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 28: Hoare triple {78978#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 29: Hoare triple {78978#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 30: Hoare triple {78978#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 31: Hoare triple {78978#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 32: Hoare triple {78978#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 33: Hoare triple {78978#false} assume !(~b~1 < ~n); {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 34: Hoare triple {78978#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 35: Hoare triple {78978#false} assume !(~l~1 < ~m); {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 36: Hoare triple {78978#false} ~x~1 := 0;~y~1 := 0; {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 37: Hoare triple {78978#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 38: Hoare triple {78978#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 39: Hoare triple {78978#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78978#false} is VALID [2022-04-27 11:40:40,739 INFO L290 TraceCheckUtils]: 40: Hoare triple {78978#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78978#false} is VALID [2022-04-27 11:40:40,740 INFO L290 TraceCheckUtils]: 41: Hoare triple {78978#false} assume !(~x~1 < ~i~1); {78978#false} is VALID [2022-04-27 11:40:40,740 INFO L290 TraceCheckUtils]: 42: Hoare triple {78978#false} #res := ~y~1; {78978#false} is VALID [2022-04-27 11:40:40,740 INFO L290 TraceCheckUtils]: 43: Hoare triple {78978#false} assume true; {78978#false} is VALID [2022-04-27 11:40:40,740 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {78978#false} {78978#false} #113#return; {78978#false} is VALID [2022-04-27 11:40:40,740 INFO L290 TraceCheckUtils]: 45: Hoare triple {78978#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {78978#false} is VALID [2022-04-27 11:40:40,740 INFO L272 TraceCheckUtils]: 46: Hoare triple {78978#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {78978#false} is VALID [2022-04-27 11:40:40,740 INFO L290 TraceCheckUtils]: 47: Hoare triple {78978#false} ~cond := #in~cond; {78978#false} is VALID [2022-04-27 11:40:40,740 INFO L290 TraceCheckUtils]: 48: Hoare triple {78978#false} assume 0 == ~cond; {78978#false} is VALID [2022-04-27 11:40:40,740 INFO L290 TraceCheckUtils]: 49: Hoare triple {78978#false} assume !false; {78978#false} is VALID [2022-04-27 11:40:40,740 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-27 11:40:40,740 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:40:40,888 INFO L290 TraceCheckUtils]: 49: Hoare triple {78978#false} assume !false; {78978#false} is VALID [2022-04-27 11:40:40,888 INFO L290 TraceCheckUtils]: 48: Hoare triple {78978#false} assume 0 == ~cond; {78978#false} is VALID [2022-04-27 11:40:40,888 INFO L290 TraceCheckUtils]: 47: Hoare triple {78978#false} ~cond := #in~cond; {78978#false} is VALID [2022-04-27 11:40:40,888 INFO L272 TraceCheckUtils]: 46: Hoare triple {78978#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {78978#false} is VALID [2022-04-27 11:40:40,888 INFO L290 TraceCheckUtils]: 45: Hoare triple {78978#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {78978#false} is VALID [2022-04-27 11:40:40,889 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {78977#true} {78978#false} #113#return; {78978#false} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 43: Hoare triple {78977#true} assume true; {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 42: Hoare triple {78977#true} #res := ~y~1; {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 41: Hoare triple {78977#true} assume !(~x~1 < ~i~1); {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 40: Hoare triple {78977#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 39: Hoare triple {78977#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 38: Hoare triple {78977#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 37: Hoare triple {78977#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 36: Hoare triple {78977#true} ~x~1 := 0;~y~1 := 0; {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 35: Hoare triple {78977#true} assume !(~l~1 < ~m); {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 34: Hoare triple {78977#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 33: Hoare triple {78977#true} assume !(~b~1 < ~n); {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 32: Hoare triple {78977#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 31: Hoare triple {78977#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 30: Hoare triple {78977#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 29: Hoare triple {78977#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L290 TraceCheckUtils]: 28: Hoare triple {78977#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {78977#true} is VALID [2022-04-27 11:40:40,889 INFO L272 TraceCheckUtils]: 27: Hoare triple {78978#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {78977#true} is VALID [2022-04-27 11:40:40,890 INFO L290 TraceCheckUtils]: 26: Hoare triple {78978#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {78978#false} is VALID [2022-04-27 11:40:40,890 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {78978#false} {78977#true} #111#return; {78978#false} is VALID [2022-04-27 11:40:40,890 INFO L290 TraceCheckUtils]: 24: Hoare triple {78978#false} assume true; {78978#false} is VALID [2022-04-27 11:40:40,890 INFO L290 TraceCheckUtils]: 23: Hoare triple {78978#false} #res := ~y~0; {78978#false} is VALID [2022-04-27 11:40:40,890 INFO L290 TraceCheckUtils]: 22: Hoare triple {78978#false} assume !(~x~0 < ~i~0); {78978#false} is VALID [2022-04-27 11:40:40,890 INFO L290 TraceCheckUtils]: 21: Hoare triple {79027#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {78978#false} is VALID [2022-04-27 11:40:40,890 INFO L290 TraceCheckUtils]: 20: Hoare triple {79026#(<= 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; {79027#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:40:40,891 INFO L290 TraceCheckUtils]: 19: Hoare triple {79025#(<= 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; {79026#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-27 11:40:40,891 INFO L290 TraceCheckUtils]: 18: Hoare triple {79024#(<= 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; {79025#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-27 11:40:40,892 INFO L290 TraceCheckUtils]: 17: Hoare triple {79023#(<= 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; {79024#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} is VALID [2022-04-27 11:40:40,892 INFO L290 TraceCheckUtils]: 16: Hoare triple {79022#(<= correct_version_~i~0 4)} ~x~0 := 0;~y~0 := 0; {79023#(<= correct_version_~i~0 (+ correct_version_~x~0 4))} is VALID [2022-04-27 11:40:40,892 INFO L290 TraceCheckUtils]: 15: Hoare triple {79022#(<= correct_version_~i~0 4)} assume !(~l~0 < ~m); {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,892 INFO L290 TraceCheckUtils]: 14: Hoare triple {79022#(<= correct_version_~i~0 4)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,893 INFO L290 TraceCheckUtils]: 13: Hoare triple {79022#(<= correct_version_~i~0 4)} assume !(~b~0 < ~n); {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,893 INFO L290 TraceCheckUtils]: 12: Hoare triple {79021#(<= correct_version_~i~0 3)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79022#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:40:40,893 INFO L290 TraceCheckUtils]: 11: Hoare triple {79020#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79021#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:40:40,894 INFO L290 TraceCheckUtils]: 10: Hoare triple {79019#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79020#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:40:40,894 INFO L290 TraceCheckUtils]: 9: Hoare triple {79018#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {79019#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:40:40,895 INFO L290 TraceCheckUtils]: 8: Hoare triple {78977#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {79018#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:40:40,895 INFO L272 TraceCheckUtils]: 7: Hoare triple {78977#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {78977#true} is VALID [2022-04-27 11:40:40,895 INFO L290 TraceCheckUtils]: 6: Hoare triple {78977#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {78977#true} is VALID [2022-04-27 11:40:40,895 INFO L290 TraceCheckUtils]: 5: Hoare triple {78977#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {78977#true} is VALID [2022-04-27 11:40:40,895 INFO L272 TraceCheckUtils]: 4: Hoare triple {78977#true} call #t~ret10 := main(); {78977#true} is VALID [2022-04-27 11:40:40,895 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {78977#true} {78977#true} #117#return; {78977#true} is VALID [2022-04-27 11:40:40,895 INFO L290 TraceCheckUtils]: 2: Hoare triple {78977#true} assume true; {78977#true} is VALID [2022-04-27 11:40:40,895 INFO L290 TraceCheckUtils]: 1: Hoare triple {78977#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {78977#true} is VALID [2022-04-27 11:40:40,895 INFO L272 TraceCheckUtils]: 0: Hoare triple {78977#true} call ULTIMATE.init(); {78977#true} is VALID [2022-04-27 11:40:40,895 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-27 11:40:40,895 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1093828126] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:40:40,895 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:40:40,895 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12, 12] total 18 [2022-04-27 11:40:40,895 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [568463826] [2022-04-27 11:40:40,896 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:40:40,896 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 2.9444444444444446) internal successors, (53), 17 states have internal predecessors, (53), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 50 [2022-04-27 11:40:40,896 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:40:40,896 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 2.9444444444444446) internal successors, (53), 17 states have internal predecessors, (53), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:40:40,931 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-27 11:40:40,931 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-27 11:40:40,931 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:40:40,931 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-27 11:40:40,931 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=223, Unknown=0, NotChecked=0, Total=306 [2022-04-27 11:40:40,931 INFO L87 Difference]: Start difference. First operand 478 states and 547 transitions. Second operand has 18 states, 18 states have (on average 2.9444444444444446) internal successors, (53), 17 states have internal predecessors, (53), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:40:44,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:44,570 INFO L93 Difference]: Finished difference Result 857 states and 980 transitions. [2022-04-27 11:40:44,571 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-27 11:40:44,571 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 2.9444444444444446) internal successors, (53), 17 states have internal predecessors, (53), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 50 [2022-04-27 11:40:44,571 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:40:44,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 2.9444444444444446) internal successors, (53), 17 states have internal predecessors, (53), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:40:44,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 108 transitions. [2022-04-27 11:40:44,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 2.9444444444444446) internal successors, (53), 17 states have internal predecessors, (53), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:40:44,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 108 transitions. [2022-04-27 11:40:44,572 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 108 transitions. [2022-04-27 11:40:44,617 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-27 11:40:44,634 INFO L225 Difference]: With dead ends: 857 [2022-04-27 11:40:44,634 INFO L226 Difference]: Without dead ends: 560 [2022-04-27 11:40:44,642 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 100 SyntacticMatches, 1 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 268 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=372, Invalid=1034, Unknown=0, NotChecked=0, Total=1406 [2022-04-27 11:40:44,642 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 130 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 342 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 136 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 363 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 342 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:40:44,642 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [136 Valid, 81 Invalid, 363 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 342 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 11:40:44,643 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 560 states. [2022-04-27 11:40:47,238 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 560 to 536. [2022-04-27 11:40:47,238 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:40:47,238 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-27 11:40:47,239 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-27 11:40:47,239 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-27 11:40:47,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:47,250 INFO L93 Difference]: Finished difference Result 560 states and 638 transitions. [2022-04-27 11:40:47,250 INFO L276 IsEmpty]: Start isEmpty. Operand 560 states and 638 transitions. [2022-04-27 11:40:47,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:40:47,251 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:40:47,252 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-27 11:40:47,252 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-27 11:40:47,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:47,263 INFO L93 Difference]: Finished difference Result 560 states and 638 transitions. [2022-04-27 11:40:47,263 INFO L276 IsEmpty]: Start isEmpty. Operand 560 states and 638 transitions. [2022-04-27 11:40:47,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:40:47,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:40:47,265 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:40:47,265 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:40:47,265 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-27 11:40:47,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 536 states to 536 states and 614 transitions. [2022-04-27 11:40:47,278 INFO L78 Accepts]: Start accepts. Automaton has 536 states and 614 transitions. Word has length 50 [2022-04-27 11:40:47,278 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:40:47,278 INFO L495 AbstractCegarLoop]: Abstraction has 536 states and 614 transitions. [2022-04-27 11:40:47,278 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 2.9444444444444446) internal successors, (53), 17 states have internal predecessors, (53), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:40:47,278 INFO L276 IsEmpty]: Start isEmpty. Operand 536 states and 614 transitions. [2022-04-27 11:40:47,280 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-27 11:40:47,280 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:40:47,280 INFO L195 NwaCegarLoop]: trace histogram [8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:40:47,296 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (51)] Ended with exit code 0 [2022-04-27 11:40:47,496 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 51 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable59 [2022-04-27 11:40:47,497 INFO L420 AbstractCegarLoop]: === Iteration 61 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:40:47,497 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:40:47,497 INFO L85 PathProgramCache]: Analyzing trace with hash -33846038, now seen corresponding path program 51 times [2022-04-27 11:40:47,497 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:40:47,497 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1571338457] [2022-04-27 11:40:47,497 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:40:47,497 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:40:47,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:47,579 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:40:47,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:47,581 INFO L290 TraceCheckUtils]: 0: Hoare triple {82595#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {82548#true} is VALID [2022-04-27 11:40:47,581 INFO L290 TraceCheckUtils]: 1: Hoare triple {82548#true} assume true; {82548#true} is VALID [2022-04-27 11:40:47,581 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {82548#true} {82548#true} #117#return; {82548#true} is VALID [2022-04-27 11:40:47,582 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:40:47,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:47,694 INFO L290 TraceCheckUtils]: 0: Hoare triple {82548#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:40:47,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:40:47,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:40:47,695 INFO L290 TraceCheckUtils]: 3: Hoare triple {82596#(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; {82597#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:40:47,696 INFO L290 TraceCheckUtils]: 4: Hoare triple {82597#(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; {82598#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:40:47,696 INFO L290 TraceCheckUtils]: 5: Hoare triple {82598#(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; {82599#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:40:47,696 INFO L290 TraceCheckUtils]: 6: Hoare triple {82599#(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; {82600#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:40:47,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {82600#(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; {82601#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:40:47,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {82601#(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; {82602#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:40:47,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {82602#(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; {82603#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:40:47,698 INFO L290 TraceCheckUtils]: 10: Hoare triple {82603#(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; {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:40:47,698 INFO L290 TraceCheckUtils]: 11: Hoare triple {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !(~l~0 < ~m); {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:40:47,698 INFO L290 TraceCheckUtils]: 12: Hoare triple {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} ~x~0 := 0;~y~0 := 0; {82605#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:40:47,698 INFO L290 TraceCheckUtils]: 13: Hoare triple {82605#(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; {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:40:47,699 INFO L290 TraceCheckUtils]: 14: Hoare triple {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:40:47,699 INFO L290 TraceCheckUtils]: 15: Hoare triple {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:40:47,699 INFO L290 TraceCheckUtils]: 16: Hoare triple {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:40:47,700 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {82548#true} #111#return; {82571#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-27 11:40:47,700 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-27 11:40:47,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:47,866 INFO L290 TraceCheckUtils]: 0: Hoare triple {82548#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:40:47,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:40:47,866 INFO L290 TraceCheckUtils]: 2: Hoare triple {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:40:47,867 INFO L290 TraceCheckUtils]: 3: Hoare triple {82608#(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; {82609#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:40:47,867 INFO L290 TraceCheckUtils]: 4: Hoare triple {82609#(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; {82610#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:40:47,867 INFO L290 TraceCheckUtils]: 5: Hoare triple {82610#(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; {82611#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:40:47,868 INFO L290 TraceCheckUtils]: 6: Hoare triple {82611#(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; {82612#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:40:47,868 INFO L290 TraceCheckUtils]: 7: Hoare triple {82612#(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; {82613#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:40:47,868 INFO L290 TraceCheckUtils]: 8: Hoare triple {82613#(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; {82614#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:40:47,869 INFO L290 TraceCheckUtils]: 9: Hoare triple {82614#(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; {82615#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:40:47,869 INFO L290 TraceCheckUtils]: 10: Hoare triple {82615#(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; {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:40:47,869 INFO L290 TraceCheckUtils]: 11: Hoare triple {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !(~l~1 < ~m); {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:40:47,869 INFO L290 TraceCheckUtils]: 12: Hoare triple {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} ~x~1 := 0;~y~1 := 0; {82617#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:40:47,870 INFO L290 TraceCheckUtils]: 13: Hoare triple {82617#(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; {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:40:47,870 INFO L290 TraceCheckUtils]: 14: Hoare triple {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:40:47,870 INFO L290 TraceCheckUtils]: 15: Hoare triple {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:40:47,870 INFO L290 TraceCheckUtils]: 16: Hoare triple {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:40:47,871 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {82572#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {82591#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:40:47,871 INFO L272 TraceCheckUtils]: 0: Hoare triple {82548#true} call ULTIMATE.init(); {82595#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:40:47,871 INFO L290 TraceCheckUtils]: 1: Hoare triple {82595#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {82548#true} is VALID [2022-04-27 11:40:47,871 INFO L290 TraceCheckUtils]: 2: Hoare triple {82548#true} assume true; {82548#true} is VALID [2022-04-27 11:40:47,871 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {82548#true} {82548#true} #117#return; {82548#true} is VALID [2022-04-27 11:40:47,872 INFO L272 TraceCheckUtils]: 4: Hoare triple {82548#true} call #t~ret10 := main(); {82548#true} is VALID [2022-04-27 11:40:47,872 INFO L290 TraceCheckUtils]: 5: Hoare triple {82548#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {82548#true} is VALID [2022-04-27 11:40:47,872 INFO L290 TraceCheckUtils]: 6: Hoare triple {82548#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {82548#true} is VALID [2022-04-27 11:40:47,872 INFO L272 TraceCheckUtils]: 7: Hoare triple {82548#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {82548#true} is VALID [2022-04-27 11:40:47,872 INFO L290 TraceCheckUtils]: 8: Hoare triple {82548#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:40:47,872 INFO L290 TraceCheckUtils]: 9: Hoare triple {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:40:47,872 INFO L290 TraceCheckUtils]: 10: Hoare triple {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:40:47,873 INFO L290 TraceCheckUtils]: 11: Hoare triple {82596#(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; {82597#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:40:47,873 INFO L290 TraceCheckUtils]: 12: Hoare triple {82597#(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; {82598#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:40:47,873 INFO L290 TraceCheckUtils]: 13: Hoare triple {82598#(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; {82599#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:40:47,874 INFO L290 TraceCheckUtils]: 14: Hoare triple {82599#(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; {82600#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:40:47,874 INFO L290 TraceCheckUtils]: 15: Hoare triple {82600#(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; {82601#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:40:47,874 INFO L290 TraceCheckUtils]: 16: Hoare triple {82601#(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; {82602#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:40:47,875 INFO L290 TraceCheckUtils]: 17: Hoare triple {82602#(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; {82603#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:40:47,875 INFO L290 TraceCheckUtils]: 18: Hoare triple {82603#(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; {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:40:47,875 INFO L290 TraceCheckUtils]: 19: Hoare triple {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !(~l~0 < ~m); {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:40:47,875 INFO L290 TraceCheckUtils]: 20: Hoare triple {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} ~x~0 := 0;~y~0 := 0; {82605#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:40:47,876 INFO L290 TraceCheckUtils]: 21: Hoare triple {82605#(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; {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:40:47,876 INFO L290 TraceCheckUtils]: 22: Hoare triple {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:40:47,876 INFO L290 TraceCheckUtils]: 23: Hoare triple {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:40:47,876 INFO L290 TraceCheckUtils]: 24: Hoare triple {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:40:47,877 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {82548#true} #111#return; {82571#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-27 11:40:47,877 INFO L290 TraceCheckUtils]: 26: Hoare triple {82571#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {82572#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-27 11:40:47,877 INFO L272 TraceCheckUtils]: 27: Hoare triple {82572#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {82548#true} is VALID [2022-04-27 11:40:47,877 INFO L290 TraceCheckUtils]: 28: Hoare triple {82548#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:40:47,878 INFO L290 TraceCheckUtils]: 29: Hoare triple {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:40:47,878 INFO L290 TraceCheckUtils]: 30: Hoare triple {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:40:47,878 INFO L290 TraceCheckUtils]: 31: Hoare triple {82608#(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; {82609#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:40:47,879 INFO L290 TraceCheckUtils]: 32: Hoare triple {82609#(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; {82610#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:40:47,879 INFO L290 TraceCheckUtils]: 33: Hoare triple {82610#(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; {82611#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:40:47,879 INFO L290 TraceCheckUtils]: 34: Hoare triple {82611#(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; {82612#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:40:47,880 INFO L290 TraceCheckUtils]: 35: Hoare triple {82612#(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; {82613#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:40:47,880 INFO L290 TraceCheckUtils]: 36: Hoare triple {82613#(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; {82614#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:40:47,880 INFO L290 TraceCheckUtils]: 37: Hoare triple {82614#(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; {82615#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:40:47,880 INFO L290 TraceCheckUtils]: 38: Hoare triple {82615#(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; {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:40:47,881 INFO L290 TraceCheckUtils]: 39: Hoare triple {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !(~l~1 < ~m); {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:40:47,881 INFO L290 TraceCheckUtils]: 40: Hoare triple {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} ~x~1 := 0;~y~1 := 0; {82617#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:40:47,881 INFO L290 TraceCheckUtils]: 41: Hoare triple {82617#(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; {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:40:47,882 INFO L290 TraceCheckUtils]: 42: Hoare triple {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:40:47,882 INFO L290 TraceCheckUtils]: 43: Hoare triple {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:40:47,882 INFO L290 TraceCheckUtils]: 44: Hoare triple {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:40:47,882 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {82572#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {82591#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:40:47,883 INFO L290 TraceCheckUtils]: 46: Hoare triple {82591#(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; {82592#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:40:47,883 INFO L272 TraceCheckUtils]: 47: Hoare triple {82592#(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)); {82593#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:40:47,883 INFO L290 TraceCheckUtils]: 48: Hoare triple {82593#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {82594#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:40:47,883 INFO L290 TraceCheckUtils]: 49: Hoare triple {82594#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {82549#false} is VALID [2022-04-27 11:40:47,884 INFO L290 TraceCheckUtils]: 50: Hoare triple {82549#false} assume !false; {82549#false} is VALID [2022-04-27 11:40:47,884 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-27 11:40:47,884 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:40:47,884 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1571338457] [2022-04-27 11:40:47,884 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1571338457] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:40:47,884 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [769519094] [2022-04-27 11:40:47,884 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:40:47,884 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:40:47,884 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:40:47,885 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-27 11:40:47,886 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-27 11:40:47,970 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2022-04-27 11:40:47,970 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:40:47,971 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 59 conjunts are in the unsatisfiable core [2022-04-27 11:40:47,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:40:47,977 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:40:48,328 INFO L272 TraceCheckUtils]: 0: Hoare triple {82548#true} call ULTIMATE.init(); {82548#true} is VALID [2022-04-27 11:40:48,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {82548#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {82548#true} is VALID [2022-04-27 11:40:48,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {82548#true} assume true; {82548#true} is VALID [2022-04-27 11:40:48,328 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {82548#true} {82548#true} #117#return; {82548#true} is VALID [2022-04-27 11:40:48,328 INFO L272 TraceCheckUtils]: 4: Hoare triple {82548#true} call #t~ret10 := main(); {82548#true} is VALID [2022-04-27 11:40:48,328 INFO L290 TraceCheckUtils]: 5: Hoare triple {82548#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {82548#true} is VALID [2022-04-27 11:40:48,328 INFO L290 TraceCheckUtils]: 6: Hoare triple {82548#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {82548#true} is VALID [2022-04-27 11:40:48,328 INFO L272 TraceCheckUtils]: 7: Hoare triple {82548#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {82548#true} is VALID [2022-04-27 11:40:48,328 INFO L290 TraceCheckUtils]: 8: Hoare triple {82548#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:40:48,329 INFO L290 TraceCheckUtils]: 9: Hoare triple {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:40:48,329 INFO L290 TraceCheckUtils]: 10: Hoare triple {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:40:48,329 INFO L290 TraceCheckUtils]: 11: Hoare triple {82596#(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; {82597#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:40:48,330 INFO L290 TraceCheckUtils]: 12: Hoare triple {82597#(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; {82598#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:40:48,330 INFO L290 TraceCheckUtils]: 13: Hoare triple {82598#(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; {82599#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:40:48,330 INFO L290 TraceCheckUtils]: 14: Hoare triple {82599#(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; {82600#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:40:48,331 INFO L290 TraceCheckUtils]: 15: Hoare triple {82600#(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; {82601#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:40:48,331 INFO L290 TraceCheckUtils]: 16: Hoare triple {82601#(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; {82602#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:40:48,331 INFO L290 TraceCheckUtils]: 17: Hoare triple {82602#(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; {82603#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:40:48,332 INFO L290 TraceCheckUtils]: 18: Hoare triple {82603#(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; {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:40:48,332 INFO L290 TraceCheckUtils]: 19: Hoare triple {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !(~l~0 < ~m); {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:40:48,332 INFO L290 TraceCheckUtils]: 20: Hoare triple {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} ~x~0 := 0;~y~0 := 0; {82683#(and (= correct_version_~y~0 0) (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:40:48,332 INFO L290 TraceCheckUtils]: 21: Hoare triple {82683#(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; {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:40:48,333 INFO L290 TraceCheckUtils]: 22: Hoare triple {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:40:48,333 INFO L290 TraceCheckUtils]: 23: Hoare triple {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:40:48,333 INFO L290 TraceCheckUtils]: 24: Hoare triple {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:40:48,333 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {82548#true} #111#return; {82571#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-27 11:40:48,334 INFO L290 TraceCheckUtils]: 26: Hoare triple {82571#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {82572#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-27 11:40:48,334 INFO L272 TraceCheckUtils]: 27: Hoare triple {82572#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {82548#true} is VALID [2022-04-27 11:40:48,334 INFO L290 TraceCheckUtils]: 28: Hoare triple {82548#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:40:48,334 INFO L290 TraceCheckUtils]: 29: Hoare triple {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:40:48,334 INFO L290 TraceCheckUtils]: 30: Hoare triple {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:40:48,335 INFO L290 TraceCheckUtils]: 31: Hoare triple {82608#(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; {82609#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:40:48,335 INFO L290 TraceCheckUtils]: 32: Hoare triple {82609#(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; {82610#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:40:48,335 INFO L290 TraceCheckUtils]: 33: Hoare triple {82610#(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; {82611#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:40:48,336 INFO L290 TraceCheckUtils]: 34: Hoare triple {82611#(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; {82612#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:40:48,336 INFO L290 TraceCheckUtils]: 35: Hoare triple {82612#(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; {82613#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:40:48,336 INFO L290 TraceCheckUtils]: 36: Hoare triple {82613#(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; {82614#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:40:48,337 INFO L290 TraceCheckUtils]: 37: Hoare triple {82614#(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; {82615#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:40:48,337 INFO L290 TraceCheckUtils]: 38: Hoare triple {82615#(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; {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:40:48,337 INFO L290 TraceCheckUtils]: 39: Hoare triple {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !(~l~1 < ~m); {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:40:48,338 INFO L290 TraceCheckUtils]: 40: Hoare triple {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} ~x~1 := 0;~y~1 := 0; {82744#(and (= student_version_~y~1 0) (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:40:48,338 INFO L290 TraceCheckUtils]: 41: Hoare triple {82744#(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; {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:40:48,338 INFO L290 TraceCheckUtils]: 42: Hoare triple {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:40:48,338 INFO L290 TraceCheckUtils]: 43: Hoare triple {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:40:48,339 INFO L290 TraceCheckUtils]: 44: Hoare triple {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:40:48,339 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {82572#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {82760#(and (<= |main_#t~ret9| 8) (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8) (<= 8 |main_#t~ret9|))} is VALID [2022-04-27 11:40:48,339 INFO L290 TraceCheckUtils]: 46: Hoare triple {82760#(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; {82764#(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-27 11:40:48,340 INFO L272 TraceCheckUtils]: 47: Hoare triple {82764#(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)); {82768#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:40:48,340 INFO L290 TraceCheckUtils]: 48: Hoare triple {82768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {82772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:40:48,340 INFO L290 TraceCheckUtils]: 49: Hoare triple {82772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {82549#false} is VALID [2022-04-27 11:40:48,340 INFO L290 TraceCheckUtils]: 50: Hoare triple {82549#false} assume !false; {82549#false} is VALID [2022-04-27 11:40:48,340 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-27 11:40:48,340 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:40:48,649 INFO L290 TraceCheckUtils]: 50: Hoare triple {82549#false} assume !false; {82549#false} is VALID [2022-04-27 11:40:48,650 INFO L290 TraceCheckUtils]: 49: Hoare triple {82772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {82549#false} is VALID [2022-04-27 11:40:48,650 INFO L290 TraceCheckUtils]: 48: Hoare triple {82768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {82772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:40:48,651 INFO L272 TraceCheckUtils]: 47: Hoare triple {82592#(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)); {82768#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:40:48,651 INFO L290 TraceCheckUtils]: 46: Hoare triple {82591#(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; {82592#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:40:48,652 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {82572#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {82591#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:40:48,652 INFO L290 TraceCheckUtils]: 44: Hoare triple {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:40:48,653 INFO L290 TraceCheckUtils]: 43: Hoare triple {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {82619#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:40:48,653 INFO L290 TraceCheckUtils]: 42: Hoare triple {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:40:48,653 INFO L290 TraceCheckUtils]: 41: Hoare triple {82617#(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; {82618#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:40:48,654 INFO L290 TraceCheckUtils]: 40: Hoare triple {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} ~x~1 := 0;~y~1 := 0; {82617#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:40:48,654 INFO L290 TraceCheckUtils]: 39: Hoare triple {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !(~l~1 < ~m); {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:40:48,655 INFO L290 TraceCheckUtils]: 38: Hoare triple {82615#(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; {82616#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:40:48,655 INFO L290 TraceCheckUtils]: 37: Hoare triple {82614#(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; {82615#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:40:48,655 INFO L290 TraceCheckUtils]: 36: Hoare triple {82613#(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; {82614#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:40:48,656 INFO L290 TraceCheckUtils]: 35: Hoare triple {82612#(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; {82613#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:40:48,656 INFO L290 TraceCheckUtils]: 34: Hoare triple {82611#(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; {82612#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:40:48,657 INFO L290 TraceCheckUtils]: 33: Hoare triple {82610#(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; {82611#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:40:48,657 INFO L290 TraceCheckUtils]: 32: Hoare triple {82609#(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; {82610#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:40:48,658 INFO L290 TraceCheckUtils]: 31: Hoare triple {82608#(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; {82609#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:40:48,658 INFO L290 TraceCheckUtils]: 30: Hoare triple {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:40:48,658 INFO L290 TraceCheckUtils]: 29: Hoare triple {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:40:48,659 INFO L290 TraceCheckUtils]: 28: Hoare triple {82548#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {82608#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:40:48,659 INFO L272 TraceCheckUtils]: 27: Hoare triple {82572#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {82548#true} is VALID [2022-04-27 11:40:48,659 INFO L290 TraceCheckUtils]: 26: Hoare triple {82571#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {82572#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-27 11:40:48,660 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {82548#true} #111#return; {82571#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-27 11:40:48,660 INFO L290 TraceCheckUtils]: 24: Hoare triple {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:40:48,661 INFO L290 TraceCheckUtils]: 23: Hoare triple {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {82607#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:40:48,661 INFO L290 TraceCheckUtils]: 22: Hoare triple {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:40:48,661 INFO L290 TraceCheckUtils]: 21: Hoare triple {82605#(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; {82606#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:40:48,662 INFO L290 TraceCheckUtils]: 20: Hoare triple {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} ~x~0 := 0;~y~0 := 0; {82605#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:40:48,662 INFO L290 TraceCheckUtils]: 19: Hoare triple {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !(~l~0 < ~m); {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:40:48,662 INFO L290 TraceCheckUtils]: 18: Hoare triple {82603#(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; {82604#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:40:48,663 INFO L290 TraceCheckUtils]: 17: Hoare triple {82602#(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; {82603#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:40:48,663 INFO L290 TraceCheckUtils]: 16: Hoare triple {82601#(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; {82602#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:40:48,664 INFO L290 TraceCheckUtils]: 15: Hoare triple {82600#(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; {82601#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:40:48,664 INFO L290 TraceCheckUtils]: 14: Hoare triple {82599#(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; {82600#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:40:48,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {82598#(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; {82599#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:40:48,665 INFO L290 TraceCheckUtils]: 12: Hoare triple {82597#(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; {82598#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:40:48,666 INFO L290 TraceCheckUtils]: 11: Hoare triple {82596#(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; {82597#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:40:48,666 INFO L290 TraceCheckUtils]: 10: Hoare triple {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:40:48,666 INFO L290 TraceCheckUtils]: 9: Hoare triple {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:40:48,667 INFO L290 TraceCheckUtils]: 8: Hoare triple {82548#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {82596#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:40:48,667 INFO L272 TraceCheckUtils]: 7: Hoare triple {82548#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {82548#true} is VALID [2022-04-27 11:40:48,667 INFO L290 TraceCheckUtils]: 6: Hoare triple {82548#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {82548#true} is VALID [2022-04-27 11:40:48,667 INFO L290 TraceCheckUtils]: 5: Hoare triple {82548#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {82548#true} is VALID [2022-04-27 11:40:48,667 INFO L272 TraceCheckUtils]: 4: Hoare triple {82548#true} call #t~ret10 := main(); {82548#true} is VALID [2022-04-27 11:40:48,667 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {82548#true} {82548#true} #117#return; {82548#true} is VALID [2022-04-27 11:40:48,667 INFO L290 TraceCheckUtils]: 2: Hoare triple {82548#true} assume true; {82548#true} is VALID [2022-04-27 11:40:48,667 INFO L290 TraceCheckUtils]: 1: Hoare triple {82548#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {82548#true} is VALID [2022-04-27 11:40:48,667 INFO L272 TraceCheckUtils]: 0: Hoare triple {82548#true} call ULTIMATE.init(); {82548#true} is VALID [2022-04-27 11:40:48,667 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-27 11:40:48,683 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [769519094] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:40:48,683 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:40:48,683 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [33, 32, 32] total 39 [2022-04-27 11:40:48,683 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [777973018] [2022-04-27 11:40:48,683 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:40:48,684 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 51 [2022-04-27 11:40:48,684 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:40:48,684 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:40:48,712 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-27 11:40:48,712 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 39 states [2022-04-27 11:40:48,712 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:40:48,712 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2022-04-27 11:40:48,712 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=1397, Unknown=0, NotChecked=0, Total=1482 [2022-04-27 11:40:48,713 INFO L87 Difference]: Start difference. First operand 536 states and 614 transitions. Second operand has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:40:57,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:57,224 INFO L93 Difference]: Finished difference Result 628 states and 719 transitions. [2022-04-27 11:40:57,224 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-27 11:40:57,224 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 51 [2022-04-27 11:40:57,224 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:40:57,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:40:57,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 190 transitions. [2022-04-27 11:40:57,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:40:57,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 190 transitions. [2022-04-27 11:40:57,227 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 190 transitions. [2022-04-27 11:40:57,318 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-27 11:40:57,337 INFO L225 Difference]: With dead ends: 628 [2022-04-27 11:40:57,337 INFO L226 Difference]: Without dead ends: 622 [2022-04-27 11:40:57,339 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 169 GetRequests, 96 SyntacticMatches, 5 SemanticMatches, 68 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 658 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=241, Invalid=4589, Unknown=0, NotChecked=0, Total=4830 [2022-04-27 11:40:57,339 INFO L413 NwaCegarLoop]: 101 mSDtfsCounter, 219 mSDsluCounter, 162 mSDsCounter, 0 mSdLazyCounter, 4846 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 228 SdHoareTripleChecker+Valid, 263 SdHoareTripleChecker+Invalid, 4892 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 4846 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.4s IncrementalHoareTripleChecker+Time [2022-04-27 11:40:57,339 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [228 Valid, 263 Invalid, 4892 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 4846 Invalid, 0 Unknown, 0 Unchecked, 2.4s Time] [2022-04-27 11:40:57,339 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 622 states. [2022-04-27 11:40:59,940 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 622 to 552. [2022-04-27 11:40:59,941 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:40:59,941 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-27 11:40:59,942 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-27 11:40:59,942 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-27 11:40:59,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:59,955 INFO L93 Difference]: Finished difference Result 622 states and 713 transitions. [2022-04-27 11:40:59,955 INFO L276 IsEmpty]: Start isEmpty. Operand 622 states and 713 transitions. [2022-04-27 11:40:59,957 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:40:59,957 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:40:59,957 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-27 11:40:59,957 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-27 11:40:59,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:40:59,970 INFO L93 Difference]: Finished difference Result 622 states and 713 transitions. [2022-04-27 11:40:59,970 INFO L276 IsEmpty]: Start isEmpty. Operand 622 states and 713 transitions. [2022-04-27 11:40:59,972 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:40:59,972 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:40:59,972 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:40:59,972 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:40:59,972 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-27 11:40:59,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 552 states to 552 states and 633 transitions. [2022-04-27 11:40:59,986 INFO L78 Accepts]: Start accepts. Automaton has 552 states and 633 transitions. Word has length 51 [2022-04-27 11:40:59,986 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:40:59,986 INFO L495 AbstractCegarLoop]: Abstraction has 552 states and 633 transitions. [2022-04-27 11:40:59,986 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:40:59,986 INFO L276 IsEmpty]: Start isEmpty. Operand 552 states and 633 transitions. [2022-04-27 11:40:59,988 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-27 11:40:59,988 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:40:59,988 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:41:00,005 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (52)] Ended with exit code 0 [2022-04-27 11:41:00,203 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable60,52 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:41:00,204 INFO L420 AbstractCegarLoop]: === Iteration 62 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:41:00,204 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:41:00,204 INFO L85 PathProgramCache]: Analyzing trace with hash 2139086154, now seen corresponding path program 52 times [2022-04-27 11:41:00,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:41:00,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1216555104] [2022-04-27 11:41:00,204 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:41:00,204 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:41:00,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:00,260 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:41:00,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:00,262 INFO L290 TraceCheckUtils]: 0: Hoare triple {86038#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {85991#true} is VALID [2022-04-27 11:41:00,262 INFO L290 TraceCheckUtils]: 1: Hoare triple {85991#true} assume true; {85991#true} is VALID [2022-04-27 11:41:00,262 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {85991#true} {85991#true} #117#return; {85991#true} is VALID [2022-04-27 11:41:00,262 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:41:00,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:00,370 INFO L290 TraceCheckUtils]: 0: Hoare triple {85991#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:00,370 INFO L290 TraceCheckUtils]: 1: Hoare triple {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:00,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:00,371 INFO L290 TraceCheckUtils]: 3: Hoare triple {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:00,371 INFO L290 TraceCheckUtils]: 4: Hoare triple {86039#(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; {86040#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:41:00,371 INFO L290 TraceCheckUtils]: 5: Hoare triple {86040#(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; {86041#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:00,372 INFO L290 TraceCheckUtils]: 6: Hoare triple {86041#(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; {86042#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:41:00,372 INFO L290 TraceCheckUtils]: 7: Hoare triple {86042#(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; {86043#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:41:00,372 INFO L290 TraceCheckUtils]: 8: Hoare triple {86043#(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; {86044#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:41:00,373 INFO L290 TraceCheckUtils]: 9: Hoare triple {86044#(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; {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:41:00,373 INFO L290 TraceCheckUtils]: 10: Hoare triple {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:41:00,373 INFO L290 TraceCheckUtils]: 11: Hoare triple {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {86046#(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-27 11:41:00,374 INFO L290 TraceCheckUtils]: 12: Hoare triple {86046#(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; {86047#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-27 11:41:00,374 INFO L290 TraceCheckUtils]: 13: Hoare triple {86047#(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; {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:00,374 INFO L290 TraceCheckUtils]: 14: Hoare triple {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:00,374 INFO L290 TraceCheckUtils]: 15: Hoare triple {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:00,380 INFO L290 TraceCheckUtils]: 16: Hoare triple {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:00,381 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {85991#true} #111#return; {86014#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-27 11:41:00,381 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-27 11:41:00,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:00,561 INFO L290 TraceCheckUtils]: 0: Hoare triple {85991#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:00,561 INFO L290 TraceCheckUtils]: 1: Hoare triple {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:00,562 INFO L290 TraceCheckUtils]: 2: Hoare triple {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:00,562 INFO L290 TraceCheckUtils]: 3: Hoare triple {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:00,562 INFO L290 TraceCheckUtils]: 4: Hoare triple {86050#(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; {86051#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:41:00,563 INFO L290 TraceCheckUtils]: 5: Hoare triple {86051#(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; {86052#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:00,563 INFO L290 TraceCheckUtils]: 6: Hoare triple {86052#(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; {86053#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:41:00,563 INFO L290 TraceCheckUtils]: 7: Hoare triple {86053#(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; {86054#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:41:00,564 INFO L290 TraceCheckUtils]: 8: Hoare triple {86054#(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; {86055#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:41:00,564 INFO L290 TraceCheckUtils]: 9: Hoare triple {86055#(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; {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:41:00,564 INFO L290 TraceCheckUtils]: 10: Hoare triple {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:41:00,564 INFO L290 TraceCheckUtils]: 11: Hoare triple {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {86057#(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-27 11:41:00,565 INFO L290 TraceCheckUtils]: 12: Hoare triple {86057#(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; {86058#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:41:00,565 INFO L290 TraceCheckUtils]: 13: Hoare triple {86058#(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; {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:00,565 INFO L290 TraceCheckUtils]: 14: Hoare triple {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:00,566 INFO L290 TraceCheckUtils]: 15: Hoare triple {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:00,566 INFO L290 TraceCheckUtils]: 16: Hoare triple {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:00,566 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {86015#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {86034#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:41:00,567 INFO L272 TraceCheckUtils]: 0: Hoare triple {85991#true} call ULTIMATE.init(); {86038#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:41:00,567 INFO L290 TraceCheckUtils]: 1: Hoare triple {86038#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {85991#true} is VALID [2022-04-27 11:41:00,567 INFO L290 TraceCheckUtils]: 2: Hoare triple {85991#true} assume true; {85991#true} is VALID [2022-04-27 11:41:00,567 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85991#true} {85991#true} #117#return; {85991#true} is VALID [2022-04-27 11:41:00,567 INFO L272 TraceCheckUtils]: 4: Hoare triple {85991#true} call #t~ret10 := main(); {85991#true} is VALID [2022-04-27 11:41:00,567 INFO L290 TraceCheckUtils]: 5: Hoare triple {85991#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {85991#true} is VALID [2022-04-27 11:41:00,567 INFO L290 TraceCheckUtils]: 6: Hoare triple {85991#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {85991#true} is VALID [2022-04-27 11:41:00,567 INFO L272 TraceCheckUtils]: 7: Hoare triple {85991#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {85991#true} is VALID [2022-04-27 11:41:00,583 INFO L290 TraceCheckUtils]: 8: Hoare triple {85991#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:00,583 INFO L290 TraceCheckUtils]: 9: Hoare triple {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:00,584 INFO L290 TraceCheckUtils]: 10: Hoare triple {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:00,584 INFO L290 TraceCheckUtils]: 11: Hoare triple {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:00,584 INFO L290 TraceCheckUtils]: 12: Hoare triple {86039#(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; {86040#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:41:00,585 INFO L290 TraceCheckUtils]: 13: Hoare triple {86040#(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; {86041#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:00,585 INFO L290 TraceCheckUtils]: 14: Hoare triple {86041#(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; {86042#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:41:00,585 INFO L290 TraceCheckUtils]: 15: Hoare triple {86042#(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; {86043#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:41:00,586 INFO L290 TraceCheckUtils]: 16: Hoare triple {86043#(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; {86044#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:41:00,586 INFO L290 TraceCheckUtils]: 17: Hoare triple {86044#(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; {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:41:00,586 INFO L290 TraceCheckUtils]: 18: Hoare triple {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:41:00,587 INFO L290 TraceCheckUtils]: 19: Hoare triple {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {86046#(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-27 11:41:00,587 INFO L290 TraceCheckUtils]: 20: Hoare triple {86046#(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; {86047#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-27 11:41:00,588 INFO L290 TraceCheckUtils]: 21: Hoare triple {86047#(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; {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:00,588 INFO L290 TraceCheckUtils]: 22: Hoare triple {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:00,588 INFO L290 TraceCheckUtils]: 23: Hoare triple {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:00,588 INFO L290 TraceCheckUtils]: 24: Hoare triple {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:00,589 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {85991#true} #111#return; {86014#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-27 11:41:00,589 INFO L290 TraceCheckUtils]: 26: Hoare triple {86014#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {86015#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-27 11:41:00,589 INFO L272 TraceCheckUtils]: 27: Hoare triple {86015#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {85991#true} is VALID [2022-04-27 11:41:00,589 INFO L290 TraceCheckUtils]: 28: Hoare triple {85991#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:00,590 INFO L290 TraceCheckUtils]: 29: Hoare triple {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:00,590 INFO L290 TraceCheckUtils]: 30: Hoare triple {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:00,590 INFO L290 TraceCheckUtils]: 31: Hoare triple {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:00,591 INFO L290 TraceCheckUtils]: 32: Hoare triple {86050#(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; {86051#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:41:00,591 INFO L290 TraceCheckUtils]: 33: Hoare triple {86051#(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; {86052#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:00,591 INFO L290 TraceCheckUtils]: 34: Hoare triple {86052#(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; {86053#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:41:00,592 INFO L290 TraceCheckUtils]: 35: Hoare triple {86053#(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; {86054#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:41:00,592 INFO L290 TraceCheckUtils]: 36: Hoare triple {86054#(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; {86055#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:41:00,592 INFO L290 TraceCheckUtils]: 37: Hoare triple {86055#(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; {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:41:00,593 INFO L290 TraceCheckUtils]: 38: Hoare triple {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:41:00,593 INFO L290 TraceCheckUtils]: 39: Hoare triple {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {86057#(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-27 11:41:00,593 INFO L290 TraceCheckUtils]: 40: Hoare triple {86057#(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; {86058#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:41:00,594 INFO L290 TraceCheckUtils]: 41: Hoare triple {86058#(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; {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:00,594 INFO L290 TraceCheckUtils]: 42: Hoare triple {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:00,594 INFO L290 TraceCheckUtils]: 43: Hoare triple {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:00,594 INFO L290 TraceCheckUtils]: 44: Hoare triple {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:00,595 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {86015#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {86034#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:41:00,595 INFO L290 TraceCheckUtils]: 46: Hoare triple {86034#(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; {86035#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:41:00,596 INFO L272 TraceCheckUtils]: 47: Hoare triple {86035#(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)); {86036#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:41:00,596 INFO L290 TraceCheckUtils]: 48: Hoare triple {86036#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {86037#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:41:00,596 INFO L290 TraceCheckUtils]: 49: Hoare triple {86037#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {85992#false} is VALID [2022-04-27 11:41:00,596 INFO L290 TraceCheckUtils]: 50: Hoare triple {85992#false} assume !false; {85992#false} is VALID [2022-04-27 11:41:00,596 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-27 11:41:00,597 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:41:00,597 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1216555104] [2022-04-27 11:41:00,597 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1216555104] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:41:00,597 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [954806903] [2022-04-27 11:41:00,597 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 11:41:00,597 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:41:00,597 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:41:00,598 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-27 11:41:00,599 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-27 11:41:00,671 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 11:41:00,671 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:41:00,672 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-27 11:41:00,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:00,680 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:41:01,351 INFO L272 TraceCheckUtils]: 0: Hoare triple {85991#true} call ULTIMATE.init(); {85991#true} is VALID [2022-04-27 11:41:01,351 INFO L290 TraceCheckUtils]: 1: Hoare triple {85991#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {85991#true} is VALID [2022-04-27 11:41:01,351 INFO L290 TraceCheckUtils]: 2: Hoare triple {85991#true} assume true; {85991#true} is VALID [2022-04-27 11:41:01,351 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85991#true} {85991#true} #117#return; {85991#true} is VALID [2022-04-27 11:41:01,351 INFO L272 TraceCheckUtils]: 4: Hoare triple {85991#true} call #t~ret10 := main(); {85991#true} is VALID [2022-04-27 11:41:01,351 INFO L290 TraceCheckUtils]: 5: Hoare triple {85991#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {85991#true} is VALID [2022-04-27 11:41:01,351 INFO L290 TraceCheckUtils]: 6: Hoare triple {85991#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {85991#true} is VALID [2022-04-27 11:41:01,351 INFO L272 TraceCheckUtils]: 7: Hoare triple {85991#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {85991#true} is VALID [2022-04-27 11:41:01,351 INFO L290 TraceCheckUtils]: 8: Hoare triple {85991#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,352 INFO L290 TraceCheckUtils]: 9: Hoare triple {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,352 INFO L290 TraceCheckUtils]: 10: Hoare triple {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,352 INFO L290 TraceCheckUtils]: 11: Hoare triple {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,353 INFO L290 TraceCheckUtils]: 12: Hoare triple {86039#(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; {86040#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:41:01,353 INFO L290 TraceCheckUtils]: 13: Hoare triple {86040#(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; {86041#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:01,354 INFO L290 TraceCheckUtils]: 14: Hoare triple {86041#(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; {86042#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:41:01,354 INFO L290 TraceCheckUtils]: 15: Hoare triple {86042#(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; {86043#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:41:01,355 INFO L290 TraceCheckUtils]: 16: Hoare triple {86043#(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; {86044#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,355 INFO L290 TraceCheckUtils]: 17: Hoare triple {86044#(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; {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,356 INFO L290 TraceCheckUtils]: 18: Hoare triple {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,356 INFO L290 TraceCheckUtils]: 19: Hoare triple {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {86121#(and (<= correct_version_~j~0 6) (= correct_version_~y~0 0) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,356 INFO L290 TraceCheckUtils]: 20: Hoare triple {86121#(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; {86125#(and (<= correct_version_~j~0 6) (= correct_version_~j~0 correct_version_~y~0) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,357 INFO L290 TraceCheckUtils]: 21: Hoare triple {86125#(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; {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:01,357 INFO L290 TraceCheckUtils]: 22: Hoare triple {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:01,357 INFO L290 TraceCheckUtils]: 23: Hoare triple {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:01,358 INFO L290 TraceCheckUtils]: 24: Hoare triple {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:01,358 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {85991#true} #111#return; {86014#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-27 11:41:01,359 INFO L290 TraceCheckUtils]: 26: Hoare triple {86014#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {86015#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-27 11:41:01,359 INFO L272 TraceCheckUtils]: 27: Hoare triple {86015#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {85991#true} is VALID [2022-04-27 11:41:01,359 INFO L290 TraceCheckUtils]: 28: Hoare triple {85991#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:01,359 INFO L290 TraceCheckUtils]: 29: Hoare triple {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:01,360 INFO L290 TraceCheckUtils]: 30: Hoare triple {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:01,360 INFO L290 TraceCheckUtils]: 31: Hoare triple {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:01,361 INFO L290 TraceCheckUtils]: 32: Hoare triple {86050#(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; {86051#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:41:01,361 INFO L290 TraceCheckUtils]: 33: Hoare triple {86051#(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; {86052#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:01,361 INFO L290 TraceCheckUtils]: 34: Hoare triple {86052#(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; {86053#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:41:01,362 INFO L290 TraceCheckUtils]: 35: Hoare triple {86053#(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; {86054#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:41:01,362 INFO L290 TraceCheckUtils]: 36: Hoare triple {86054#(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; {86055#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:41:01,363 INFO L290 TraceCheckUtils]: 37: Hoare triple {86055#(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; {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:41:01,363 INFO L290 TraceCheckUtils]: 38: Hoare triple {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:41:01,363 INFO L290 TraceCheckUtils]: 39: Hoare triple {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {86183#(and (= student_version_~y~1 0) (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:41:01,364 INFO L290 TraceCheckUtils]: 40: Hoare triple {86183#(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; {86187#(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-27 11:41:01,364 INFO L290 TraceCheckUtils]: 41: Hoare triple {86187#(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; {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:01,365 INFO L290 TraceCheckUtils]: 42: Hoare triple {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:01,365 INFO L290 TraceCheckUtils]: 43: Hoare triple {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:01,365 INFO L290 TraceCheckUtils]: 44: Hoare triple {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:01,366 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {86015#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {86203#(and (<= main_~n_stones1~0 12) (<= 12 |main_#t~ret9|) (<= |main_#t~ret9| 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-27 11:41:01,366 INFO L290 TraceCheckUtils]: 46: Hoare triple {86203#(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; {86207#(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-27 11:41:01,367 INFO L272 TraceCheckUtils]: 47: Hoare triple {86207#(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)); {86211#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:41:01,367 INFO L290 TraceCheckUtils]: 48: Hoare triple {86211#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {86215#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:41:01,368 INFO L290 TraceCheckUtils]: 49: Hoare triple {86215#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {85992#false} is VALID [2022-04-27 11:41:01,368 INFO L290 TraceCheckUtils]: 50: Hoare triple {85992#false} assume !false; {85992#false} is VALID [2022-04-27 11:41:01,368 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-27 11:41:01,368 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:41:01,681 INFO L290 TraceCheckUtils]: 50: Hoare triple {85992#false} assume !false; {85992#false} is VALID [2022-04-27 11:41:01,682 INFO L290 TraceCheckUtils]: 49: Hoare triple {86215#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {85992#false} is VALID [2022-04-27 11:41:01,682 INFO L290 TraceCheckUtils]: 48: Hoare triple {86211#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {86215#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:41:01,682 INFO L272 TraceCheckUtils]: 47: Hoare triple {86035#(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)); {86211#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:41:01,683 INFO L290 TraceCheckUtils]: 46: Hoare triple {86034#(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; {86035#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:41:01,683 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {86015#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {86034#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:41:01,683 INFO L290 TraceCheckUtils]: 44: Hoare triple {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:01,684 INFO L290 TraceCheckUtils]: 43: Hoare triple {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {86060#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:01,684 INFO L290 TraceCheckUtils]: 42: Hoare triple {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:01,684 INFO L290 TraceCheckUtils]: 41: Hoare triple {86058#(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; {86059#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:01,685 INFO L290 TraceCheckUtils]: 40: Hoare triple {86057#(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; {86058#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:41:01,685 INFO L290 TraceCheckUtils]: 39: Hoare triple {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {86057#(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-27 11:41:01,685 INFO L290 TraceCheckUtils]: 38: Hoare triple {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:41:01,685 INFO L290 TraceCheckUtils]: 37: Hoare triple {86055#(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; {86056#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:41:01,686 INFO L290 TraceCheckUtils]: 36: Hoare triple {86054#(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; {86055#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:41:01,686 INFO L290 TraceCheckUtils]: 35: Hoare triple {86053#(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; {86054#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:41:01,686 INFO L290 TraceCheckUtils]: 34: Hoare triple {86052#(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; {86053#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:41:01,687 INFO L290 TraceCheckUtils]: 33: Hoare triple {86051#(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; {86052#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:01,687 INFO L290 TraceCheckUtils]: 32: Hoare triple {86050#(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; {86051#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:41:01,687 INFO L290 TraceCheckUtils]: 31: Hoare triple {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:01,687 INFO L290 TraceCheckUtils]: 30: Hoare triple {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:01,688 INFO L290 TraceCheckUtils]: 29: Hoare triple {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:01,688 INFO L290 TraceCheckUtils]: 28: Hoare triple {85991#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {86050#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:01,688 INFO L272 TraceCheckUtils]: 27: Hoare triple {86015#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {85991#true} is VALID [2022-04-27 11:41:01,688 INFO L290 TraceCheckUtils]: 26: Hoare triple {86014#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {86015#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-27 11:41:01,689 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {85991#true} #111#return; {86014#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-27 11:41:01,689 INFO L290 TraceCheckUtils]: 24: Hoare triple {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:01,689 INFO L290 TraceCheckUtils]: 23: Hoare triple {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {86049#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:01,689 INFO L290 TraceCheckUtils]: 22: Hoare triple {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:01,690 INFO L290 TraceCheckUtils]: 21: Hoare triple {86047#(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; {86048#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:01,690 INFO L290 TraceCheckUtils]: 20: Hoare triple {86046#(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; {86047#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-27 11:41:01,690 INFO L290 TraceCheckUtils]: 19: Hoare triple {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {86046#(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-27 11:41:01,691 INFO L290 TraceCheckUtils]: 18: Hoare triple {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,691 INFO L290 TraceCheckUtils]: 17: Hoare triple {86044#(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; {86045#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,691 INFO L290 TraceCheckUtils]: 16: Hoare triple {86043#(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; {86044#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,692 INFO L290 TraceCheckUtils]: 15: Hoare triple {86042#(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; {86043#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:41:01,692 INFO L290 TraceCheckUtils]: 14: Hoare triple {86041#(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; {86042#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:41:01,692 INFO L290 TraceCheckUtils]: 13: Hoare triple {86040#(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; {86041#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:01,693 INFO L290 TraceCheckUtils]: 12: Hoare triple {86039#(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; {86040#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:41:01,693 INFO L290 TraceCheckUtils]: 11: Hoare triple {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,693 INFO L290 TraceCheckUtils]: 10: Hoare triple {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,693 INFO L290 TraceCheckUtils]: 9: Hoare triple {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,693 INFO L290 TraceCheckUtils]: 8: Hoare triple {85991#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {86039#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:01,694 INFO L272 TraceCheckUtils]: 7: Hoare triple {85991#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {85991#true} is VALID [2022-04-27 11:41:01,694 INFO L290 TraceCheckUtils]: 6: Hoare triple {85991#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {85991#true} is VALID [2022-04-27 11:41:01,694 INFO L290 TraceCheckUtils]: 5: Hoare triple {85991#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {85991#true} is VALID [2022-04-27 11:41:01,694 INFO L272 TraceCheckUtils]: 4: Hoare triple {85991#true} call #t~ret10 := main(); {85991#true} is VALID [2022-04-27 11:41:01,694 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85991#true} {85991#true} #117#return; {85991#true} is VALID [2022-04-27 11:41:01,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {85991#true} assume true; {85991#true} is VALID [2022-04-27 11:41:01,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {85991#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {85991#true} is VALID [2022-04-27 11:41:01,694 INFO L272 TraceCheckUtils]: 0: Hoare triple {85991#true} call ULTIMATE.init(); {85991#true} is VALID [2022-04-27 11:41:01,694 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-27 11:41:01,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [954806903] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:41:01,694 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:41:01,694 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 30, 30] total 39 [2022-04-27 11:41:01,694 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [559939473] [2022-04-27 11:41:01,694 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:41:01,695 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 51 [2022-04-27 11:41:01,695 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:41:01,695 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:41:01,719 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-27 11:41:01,719 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 39 states [2022-04-27 11:41:01,719 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:41:01,719 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2022-04-27 11:41:01,719 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=1393, Unknown=0, NotChecked=0, Total=1482 [2022-04-27 11:41:01,719 INFO L87 Difference]: Start difference. First operand 552 states and 633 transitions. Second operand has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:41:09,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:41:09,250 INFO L93 Difference]: Finished difference Result 558 states and 638 transitions. [2022-04-27 11:41:09,250 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-27 11:41:09,250 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 51 [2022-04-27 11:41:09,250 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:41:09,250 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:41:09,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 156 transitions. [2022-04-27 11:41:09,251 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:41:09,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 156 transitions. [2022-04-27 11:41:09,252 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 156 transitions. [2022-04-27 11:41:09,379 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-27 11:41:09,393 INFO L225 Difference]: With dead ends: 558 [2022-04-27 11:41:09,393 INFO L226 Difference]: Without dead ends: 536 [2022-04-27 11:41:09,394 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 165 GetRequests, 90 SyntacticMatches, 9 SemanticMatches, 66 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 677 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=243, Invalid=4313, Unknown=0, NotChecked=0, Total=4556 [2022-04-27 11:41:09,395 INFO L413 NwaCegarLoop]: 81 mSDtfsCounter, 159 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 3547 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 162 SdHoareTripleChecker+Valid, 228 SdHoareTripleChecker+Invalid, 3582 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 3547 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:41:09,395 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [162 Valid, 228 Invalid, 3582 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 3547 Invalid, 0 Unknown, 0 Unchecked, 2.0s Time] [2022-04-27 11:41:09,395 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 536 states. [2022-04-27 11:41:13,265 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 536 to 536. [2022-04-27 11:41:13,265 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:41:13,266 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-27 11:41:13,266 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-27 11:41:13,267 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-27 11:41:13,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:41:13,283 INFO L93 Difference]: Finished difference Result 536 states and 615 transitions. [2022-04-27 11:41:13,283 INFO L276 IsEmpty]: Start isEmpty. Operand 536 states and 615 transitions. [2022-04-27 11:41:13,284 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:41:13,284 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:41:13,285 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-27 11:41:13,285 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-27 11:41:13,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:41:13,295 INFO L93 Difference]: Finished difference Result 536 states and 615 transitions. [2022-04-27 11:41:13,295 INFO L276 IsEmpty]: Start isEmpty. Operand 536 states and 615 transitions. [2022-04-27 11:41:13,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:41:13,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:41:13,296 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:41:13,296 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:41:13,297 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-27 11:41:13,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 536 states to 536 states and 615 transitions. [2022-04-27 11:41:13,310 INFO L78 Accepts]: Start accepts. Automaton has 536 states and 615 transitions. Word has length 51 [2022-04-27 11:41:13,310 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:41:13,310 INFO L495 AbstractCegarLoop]: Abstraction has 536 states and 615 transitions. [2022-04-27 11:41:13,310 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:41:13,310 INFO L276 IsEmpty]: Start isEmpty. Operand 536 states and 615 transitions. [2022-04-27 11:41:13,312 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-27 11:41:13,312 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:41:13,312 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:41:13,328 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-27 11:41:13,527 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 53 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable61 [2022-04-27 11:41:13,527 INFO L420 AbstractCegarLoop]: === Iteration 63 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:41:13,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:41:13,528 INFO L85 PathProgramCache]: Analyzing trace with hash -1318950550, now seen corresponding path program 53 times [2022-04-27 11:41:13,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:41:13,528 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1567956338] [2022-04-27 11:41:13,528 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:41:13,528 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:41:13,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:13,611 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:41:13,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:13,613 INFO L290 TraceCheckUtils]: 0: Hoare triple {89177#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {89130#true} is VALID [2022-04-27 11:41:13,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {89130#true} assume true; {89130#true} is VALID [2022-04-27 11:41:13,613 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89130#true} {89130#true} #117#return; {89130#true} is VALID [2022-04-27 11:41:13,613 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:41:13,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:13,764 INFO L290 TraceCheckUtils]: 0: Hoare triple {89130#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:13,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:13,765 INFO L290 TraceCheckUtils]: 2: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:13,765 INFO L290 TraceCheckUtils]: 3: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:13,765 INFO L290 TraceCheckUtils]: 4: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:13,766 INFO L290 TraceCheckUtils]: 5: Hoare triple {89178#(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; {89179#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:41:13,766 INFO L290 TraceCheckUtils]: 6: Hoare triple {89179#(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; {89180#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:13,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {89180#(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; {89181#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:41:13,767 INFO L290 TraceCheckUtils]: 8: Hoare triple {89181#(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; {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:41:13,767 INFO L290 TraceCheckUtils]: 9: Hoare triple {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:41:13,768 INFO L290 TraceCheckUtils]: 10: Hoare triple {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {89183#(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-27 11:41:13,768 INFO L290 TraceCheckUtils]: 11: Hoare triple {89183#(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; {89184#(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-27 11:41:13,769 INFO L290 TraceCheckUtils]: 12: Hoare triple {89184#(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; {89185#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-27 11:41:13,769 INFO L290 TraceCheckUtils]: 13: Hoare triple {89185#(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; {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:13,770 INFO L290 TraceCheckUtils]: 14: Hoare triple {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:13,770 INFO L290 TraceCheckUtils]: 15: Hoare triple {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:13,770 INFO L290 TraceCheckUtils]: 16: Hoare triple {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:13,771 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {89130#true} #111#return; {89153#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-27 11:41:13,771 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-27 11:41:13,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:13,915 INFO L290 TraceCheckUtils]: 0: Hoare triple {89130#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:13,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:13,916 INFO L290 TraceCheckUtils]: 2: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:13,916 INFO L290 TraceCheckUtils]: 3: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:13,916 INFO L290 TraceCheckUtils]: 4: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:13,917 INFO L290 TraceCheckUtils]: 5: Hoare triple {89188#(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; {89189#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:41:13,917 INFO L290 TraceCheckUtils]: 6: Hoare triple {89189#(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; {89190#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:13,917 INFO L290 TraceCheckUtils]: 7: Hoare triple {89190#(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; {89191#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:41:13,918 INFO L290 TraceCheckUtils]: 8: Hoare triple {89191#(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; {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:41:13,918 INFO L290 TraceCheckUtils]: 9: Hoare triple {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:41:13,918 INFO L290 TraceCheckUtils]: 10: Hoare triple {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {89193#(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-27 11:41:13,919 INFO L290 TraceCheckUtils]: 11: Hoare triple {89193#(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; {89194#(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-27 11:41:13,919 INFO L290 TraceCheckUtils]: 12: Hoare triple {89194#(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; {89195#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:41:13,919 INFO L290 TraceCheckUtils]: 13: Hoare triple {89195#(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; {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:13,920 INFO L290 TraceCheckUtils]: 14: Hoare triple {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:13,920 INFO L290 TraceCheckUtils]: 15: Hoare triple {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:13,920 INFO L290 TraceCheckUtils]: 16: Hoare triple {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:13,921 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {89154#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {89173#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:41:13,921 INFO L272 TraceCheckUtils]: 0: Hoare triple {89130#true} call ULTIMATE.init(); {89177#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:41:13,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {89177#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {89130#true} is VALID [2022-04-27 11:41:13,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {89130#true} assume true; {89130#true} is VALID [2022-04-27 11:41:13,921 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {89130#true} {89130#true} #117#return; {89130#true} is VALID [2022-04-27 11:41:13,921 INFO L272 TraceCheckUtils]: 4: Hoare triple {89130#true} call #t~ret10 := main(); {89130#true} is VALID [2022-04-27 11:41:13,921 INFO L290 TraceCheckUtils]: 5: Hoare triple {89130#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {89130#true} is VALID [2022-04-27 11:41:13,921 INFO L290 TraceCheckUtils]: 6: Hoare triple {89130#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {89130#true} is VALID [2022-04-27 11:41:13,921 INFO L272 TraceCheckUtils]: 7: Hoare triple {89130#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {89130#true} is VALID [2022-04-27 11:41:13,922 INFO L290 TraceCheckUtils]: 8: Hoare triple {89130#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:13,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:13,922 INFO L290 TraceCheckUtils]: 10: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:13,922 INFO L290 TraceCheckUtils]: 11: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:13,922 INFO L290 TraceCheckUtils]: 12: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:13,923 INFO L290 TraceCheckUtils]: 13: Hoare triple {89178#(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; {89179#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:41:13,923 INFO L290 TraceCheckUtils]: 14: Hoare triple {89179#(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; {89180#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:13,923 INFO L290 TraceCheckUtils]: 15: Hoare triple {89180#(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; {89181#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:41:13,924 INFO L290 TraceCheckUtils]: 16: Hoare triple {89181#(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; {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:41:13,924 INFO L290 TraceCheckUtils]: 17: Hoare triple {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:41:13,924 INFO L290 TraceCheckUtils]: 18: Hoare triple {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {89183#(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-27 11:41:13,925 INFO L290 TraceCheckUtils]: 19: Hoare triple {89183#(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; {89184#(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-27 11:41:13,925 INFO L290 TraceCheckUtils]: 20: Hoare triple {89184#(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; {89185#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-27 11:41:13,925 INFO L290 TraceCheckUtils]: 21: Hoare triple {89185#(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; {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:13,926 INFO L290 TraceCheckUtils]: 22: Hoare triple {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:13,926 INFO L290 TraceCheckUtils]: 23: Hoare triple {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:13,926 INFO L290 TraceCheckUtils]: 24: Hoare triple {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:13,926 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {89130#true} #111#return; {89153#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-27 11:41:13,927 INFO L290 TraceCheckUtils]: 26: Hoare triple {89153#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {89154#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-27 11:41:13,927 INFO L272 TraceCheckUtils]: 27: Hoare triple {89154#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {89130#true} is VALID [2022-04-27 11:41:13,927 INFO L290 TraceCheckUtils]: 28: Hoare triple {89130#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:13,927 INFO L290 TraceCheckUtils]: 29: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:13,927 INFO L290 TraceCheckUtils]: 30: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:13,928 INFO L290 TraceCheckUtils]: 31: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:13,928 INFO L290 TraceCheckUtils]: 32: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:13,928 INFO L290 TraceCheckUtils]: 33: Hoare triple {89188#(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; {89189#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:41:13,928 INFO L290 TraceCheckUtils]: 34: Hoare triple {89189#(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; {89190#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:13,929 INFO L290 TraceCheckUtils]: 35: Hoare triple {89190#(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; {89191#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:41:13,929 INFO L290 TraceCheckUtils]: 36: Hoare triple {89191#(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; {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:41:13,929 INFO L290 TraceCheckUtils]: 37: Hoare triple {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:41:13,930 INFO L290 TraceCheckUtils]: 38: Hoare triple {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {89193#(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-27 11:41:13,930 INFO L290 TraceCheckUtils]: 39: Hoare triple {89193#(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; {89194#(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-27 11:41:13,930 INFO L290 TraceCheckUtils]: 40: Hoare triple {89194#(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; {89195#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:41:13,931 INFO L290 TraceCheckUtils]: 41: Hoare triple {89195#(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; {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:13,931 INFO L290 TraceCheckUtils]: 42: Hoare triple {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:13,931 INFO L290 TraceCheckUtils]: 43: Hoare triple {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:13,931 INFO L290 TraceCheckUtils]: 44: Hoare triple {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:13,932 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {89154#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {89173#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:41:13,932 INFO L290 TraceCheckUtils]: 46: Hoare triple {89173#(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; {89174#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:41:13,933 INFO L272 TraceCheckUtils]: 47: Hoare triple {89174#(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)); {89175#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:41:13,933 INFO L290 TraceCheckUtils]: 48: Hoare triple {89175#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {89176#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:41:13,933 INFO L290 TraceCheckUtils]: 49: Hoare triple {89176#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {89131#false} is VALID [2022-04-27 11:41:13,933 INFO L290 TraceCheckUtils]: 50: Hoare triple {89131#false} assume !false; {89131#false} is VALID [2022-04-27 11:41:13,933 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-27 11:41:13,933 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:41:13,933 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1567956338] [2022-04-27 11:41:13,947 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1567956338] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:41:13,947 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [604640589] [2022-04-27 11:41:13,947 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 11:41:13,947 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:41:13,947 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:41:13,960 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-27 11:41:13,960 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-27 11:41:14,024 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 3 check-sat command(s) [2022-04-27 11:41:14,025 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:41:14,026 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-27 11:41:14,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:14,033 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:41:14,498 INFO L272 TraceCheckUtils]: 0: Hoare triple {89130#true} call ULTIMATE.init(); {89130#true} is VALID [2022-04-27 11:41:14,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {89130#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {89130#true} is VALID [2022-04-27 11:41:14,499 INFO L290 TraceCheckUtils]: 2: Hoare triple {89130#true} assume true; {89130#true} is VALID [2022-04-27 11:41:14,499 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {89130#true} {89130#true} #117#return; {89130#true} is VALID [2022-04-27 11:41:14,499 INFO L272 TraceCheckUtils]: 4: Hoare triple {89130#true} call #t~ret10 := main(); {89130#true} is VALID [2022-04-27 11:41:14,499 INFO L290 TraceCheckUtils]: 5: Hoare triple {89130#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {89130#true} is VALID [2022-04-27 11:41:14,499 INFO L290 TraceCheckUtils]: 6: Hoare triple {89130#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {89130#true} is VALID [2022-04-27 11:41:14,499 INFO L272 TraceCheckUtils]: 7: Hoare triple {89130#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {89130#true} is VALID [2022-04-27 11:41:14,499 INFO L290 TraceCheckUtils]: 8: Hoare triple {89130#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:14,499 INFO L290 TraceCheckUtils]: 9: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:14,500 INFO L290 TraceCheckUtils]: 10: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:14,500 INFO L290 TraceCheckUtils]: 11: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:14,500 INFO L290 TraceCheckUtils]: 12: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:14,500 INFO L290 TraceCheckUtils]: 13: Hoare triple {89178#(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; {89179#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:41:14,501 INFO L290 TraceCheckUtils]: 14: Hoare triple {89179#(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; {89180#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:14,501 INFO L290 TraceCheckUtils]: 15: Hoare triple {89180#(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; {89181#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:41:14,501 INFO L290 TraceCheckUtils]: 16: Hoare triple {89181#(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; {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:41:14,502 INFO L290 TraceCheckUtils]: 17: Hoare triple {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:41:14,502 INFO L290 TraceCheckUtils]: 18: Hoare triple {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {89255#(and (<= 4 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:41:14,502 INFO L290 TraceCheckUtils]: 19: Hoare triple {89255#(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; {89259#(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-27 11:41:14,503 INFO L290 TraceCheckUtils]: 20: Hoare triple {89259#(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; {89263#(and (<= 4 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:41:14,503 INFO L290 TraceCheckUtils]: 21: Hoare triple {89263#(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; {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:14,503 INFO L290 TraceCheckUtils]: 22: Hoare triple {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:14,503 INFO L290 TraceCheckUtils]: 23: Hoare triple {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:14,504 INFO L290 TraceCheckUtils]: 24: Hoare triple {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:14,504 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {89130#true} #111#return; {89153#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-27 11:41:14,504 INFO L290 TraceCheckUtils]: 26: Hoare triple {89153#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {89154#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-27 11:41:14,504 INFO L272 TraceCheckUtils]: 27: Hoare triple {89154#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {89130#true} is VALID [2022-04-27 11:41:14,505 INFO L290 TraceCheckUtils]: 28: Hoare triple {89130#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:14,505 INFO L290 TraceCheckUtils]: 29: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:14,505 INFO L290 TraceCheckUtils]: 30: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:14,505 INFO L290 TraceCheckUtils]: 31: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:14,506 INFO L290 TraceCheckUtils]: 32: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:14,506 INFO L290 TraceCheckUtils]: 33: Hoare triple {89188#(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; {89189#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:41:14,506 INFO L290 TraceCheckUtils]: 34: Hoare triple {89189#(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; {89190#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:14,507 INFO L290 TraceCheckUtils]: 35: Hoare triple {89190#(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; {89191#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:41:14,507 INFO L290 TraceCheckUtils]: 36: Hoare triple {89191#(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; {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:41:14,507 INFO L290 TraceCheckUtils]: 37: Hoare triple {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:41:14,507 INFO L290 TraceCheckUtils]: 38: Hoare triple {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {89318#(and (= student_version_~y~1 0) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:41:14,508 INFO L290 TraceCheckUtils]: 39: Hoare triple {89318#(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; {89322#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} is VALID [2022-04-27 11:41:14,508 INFO L290 TraceCheckUtils]: 40: Hoare triple {89322#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4) (= (+ 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; {89326#(and (= (* 2 student_version_~j~1) student_version_~y~1) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:41:14,508 INFO L290 TraceCheckUtils]: 41: Hoare triple {89326#(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; {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:14,509 INFO L290 TraceCheckUtils]: 42: Hoare triple {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:14,509 INFO L290 TraceCheckUtils]: 43: Hoare triple {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:14,509 INFO L290 TraceCheckUtils]: 44: Hoare triple {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:14,510 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {89154#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {89342#(and (<= main_~n_stones1~0 12) (<= 12 |main_#t~ret9|) (<= |main_#t~ret9| 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-27 11:41:14,510 INFO L290 TraceCheckUtils]: 46: Hoare triple {89342#(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; {89346#(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-27 11:41:14,510 INFO L272 TraceCheckUtils]: 47: Hoare triple {89346#(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)); {89350#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:41:14,511 INFO L290 TraceCheckUtils]: 48: Hoare triple {89350#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {89354#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:41:14,511 INFO L290 TraceCheckUtils]: 49: Hoare triple {89354#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {89131#false} is VALID [2022-04-27 11:41:14,511 INFO L290 TraceCheckUtils]: 50: Hoare triple {89131#false} assume !false; {89131#false} is VALID [2022-04-27 11:41:14,511 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-27 11:41:14,511 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:41:14,888 INFO L290 TraceCheckUtils]: 50: Hoare triple {89131#false} assume !false; {89131#false} is VALID [2022-04-27 11:41:14,888 INFO L290 TraceCheckUtils]: 49: Hoare triple {89354#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {89131#false} is VALID [2022-04-27 11:41:14,888 INFO L290 TraceCheckUtils]: 48: Hoare triple {89350#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {89354#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:41:14,889 INFO L272 TraceCheckUtils]: 47: Hoare triple {89174#(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)); {89350#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:41:14,889 INFO L290 TraceCheckUtils]: 46: Hoare triple {89173#(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; {89174#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:41:14,890 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {89154#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {89173#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:41:14,890 INFO L290 TraceCheckUtils]: 44: Hoare triple {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:14,891 INFO L290 TraceCheckUtils]: 43: Hoare triple {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {89197#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:41:14,891 INFO L290 TraceCheckUtils]: 42: Hoare triple {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:14,892 INFO L290 TraceCheckUtils]: 41: Hoare triple {89195#(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; {89196#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:41:14,892 INFO L290 TraceCheckUtils]: 40: Hoare triple {89194#(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; {89195#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:41:14,893 INFO L290 TraceCheckUtils]: 39: Hoare triple {89193#(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; {89194#(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-27 11:41:14,893 INFO L290 TraceCheckUtils]: 38: Hoare triple {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {89193#(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-27 11:41:14,893 INFO L290 TraceCheckUtils]: 37: Hoare triple {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:41:14,894 INFO L290 TraceCheckUtils]: 36: Hoare triple {89191#(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; {89192#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:41:14,894 INFO L290 TraceCheckUtils]: 35: Hoare triple {89190#(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; {89191#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:41:14,895 INFO L290 TraceCheckUtils]: 34: Hoare triple {89189#(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; {89190#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:14,895 INFO L290 TraceCheckUtils]: 33: Hoare triple {89188#(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; {89189#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:41:14,895 INFO L290 TraceCheckUtils]: 32: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:14,896 INFO L290 TraceCheckUtils]: 31: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:14,896 INFO L290 TraceCheckUtils]: 30: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:14,896 INFO L290 TraceCheckUtils]: 29: Hoare triple {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:14,897 INFO L290 TraceCheckUtils]: 28: Hoare triple {89130#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {89188#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:14,897 INFO L272 TraceCheckUtils]: 27: Hoare triple {89154#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {89130#true} is VALID [2022-04-27 11:41:14,897 INFO L290 TraceCheckUtils]: 26: Hoare triple {89153#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {89154#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-27 11:41:14,898 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {89130#true} #111#return; {89153#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-27 11:41:14,898 INFO L290 TraceCheckUtils]: 24: Hoare triple {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:14,898 INFO L290 TraceCheckUtils]: 23: Hoare triple {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {89187#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:41:14,899 INFO L290 TraceCheckUtils]: 22: Hoare triple {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:14,899 INFO L290 TraceCheckUtils]: 21: Hoare triple {89185#(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; {89186#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:41:14,900 INFO L290 TraceCheckUtils]: 20: Hoare triple {89184#(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; {89185#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-27 11:41:14,900 INFO L290 TraceCheckUtils]: 19: Hoare triple {89183#(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; {89184#(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-27 11:41:14,900 INFO L290 TraceCheckUtils]: 18: Hoare triple {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {89183#(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-27 11:41:14,901 INFO L290 TraceCheckUtils]: 17: Hoare triple {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:41:14,901 INFO L290 TraceCheckUtils]: 16: Hoare triple {89181#(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; {89182#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:41:14,902 INFO L290 TraceCheckUtils]: 15: Hoare triple {89180#(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; {89181#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:41:14,902 INFO L290 TraceCheckUtils]: 14: Hoare triple {89179#(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; {89180#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:14,903 INFO L290 TraceCheckUtils]: 13: Hoare triple {89178#(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; {89179#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:41:14,903 INFO L290 TraceCheckUtils]: 12: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:14,903 INFO L290 TraceCheckUtils]: 11: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:14,904 INFO L290 TraceCheckUtils]: 10: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:14,904 INFO L290 TraceCheckUtils]: 9: Hoare triple {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:14,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {89130#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {89178#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:14,904 INFO L272 TraceCheckUtils]: 7: Hoare triple {89130#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {89130#true} is VALID [2022-04-27 11:41:14,904 INFO L290 TraceCheckUtils]: 6: Hoare triple {89130#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {89130#true} is VALID [2022-04-27 11:41:14,904 INFO L290 TraceCheckUtils]: 5: Hoare triple {89130#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {89130#true} is VALID [2022-04-27 11:41:14,904 INFO L272 TraceCheckUtils]: 4: Hoare triple {89130#true} call #t~ret10 := main(); {89130#true} is VALID [2022-04-27 11:41:14,905 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {89130#true} {89130#true} #117#return; {89130#true} is VALID [2022-04-27 11:41:14,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {89130#true} assume true; {89130#true} is VALID [2022-04-27 11:41:14,905 INFO L290 TraceCheckUtils]: 1: Hoare triple {89130#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {89130#true} is VALID [2022-04-27 11:41:14,905 INFO L272 TraceCheckUtils]: 0: Hoare triple {89130#true} call ULTIMATE.init(); {89130#true} is VALID [2022-04-27 11:41:14,905 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-27 11:41:14,905 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [604640589] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:41:14,905 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:41:14,905 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 39 [2022-04-27 11:41:14,905 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2027989693] [2022-04-27 11:41:14,905 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:41:14,906 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 51 [2022-04-27 11:41:14,906 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:41:14,906 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:41:14,933 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-27 11:41:14,933 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 39 states [2022-04-27 11:41:14,933 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:41:14,933 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2022-04-27 11:41:14,933 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=1389, Unknown=0, NotChecked=0, Total=1482 [2022-04-27 11:41:14,934 INFO L87 Difference]: Start difference. First operand 536 states and 615 transitions. Second operand has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:41:22,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:41:22,535 INFO L93 Difference]: Finished difference Result 542 states and 620 transitions. [2022-04-27 11:41:22,535 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-27 11:41:22,535 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 51 [2022-04-27 11:41:22,535 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:41:22,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:41:22,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 126 transitions. [2022-04-27 11:41:22,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:41:22,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 126 transitions. [2022-04-27 11:41:22,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 126 transitions. [2022-04-27 11:41:22,634 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-27 11:41:22,647 INFO L225 Difference]: With dead ends: 542 [2022-04-27 11:41:22,647 INFO L226 Difference]: Without dead ends: 518 [2022-04-27 11:41:22,648 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 88 SyntacticMatches, 9 SemanticMatches, 64 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 682 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=245, Invalid=4045, Unknown=0, NotChecked=0, Total=4290 [2022-04-27 11:41:22,649 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 121 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 2685 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 123 SdHoareTripleChecker+Valid, 210 SdHoareTripleChecker+Invalid, 2721 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 2685 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-27 11:41:22,650 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [123 Valid, 210 Invalid, 2721 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 2685 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-27 11:41:22,650 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 518 states. [2022-04-27 11:41:25,587 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 518 to 518. [2022-04-27 11:41:25,587 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:41:25,588 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-27 11:41:25,588 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-27 11:41:25,588 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-27 11:41:25,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:41:25,598 INFO L93 Difference]: Finished difference Result 518 states and 595 transitions. [2022-04-27 11:41:25,598 INFO L276 IsEmpty]: Start isEmpty. Operand 518 states and 595 transitions. [2022-04-27 11:41:25,599 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:41:25,599 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:41:25,599 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-27 11:41:25,600 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-27 11:41:25,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:41:25,609 INFO L93 Difference]: Finished difference Result 518 states and 595 transitions. [2022-04-27 11:41:25,609 INFO L276 IsEmpty]: Start isEmpty. Operand 518 states and 595 transitions. [2022-04-27 11:41:25,610 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:41:25,610 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:41:25,610 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:41:25,610 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:41:25,611 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-27 11:41:25,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 518 states to 518 states and 595 transitions. [2022-04-27 11:41:25,622 INFO L78 Accepts]: Start accepts. Automaton has 518 states and 595 transitions. Word has length 51 [2022-04-27 11:41:25,622 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:41:25,623 INFO L495 AbstractCegarLoop]: Abstraction has 518 states and 595 transitions. [2022-04-27 11:41:25,623 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:41:25,623 INFO L276 IsEmpty]: Start isEmpty. Operand 518 states and 595 transitions. [2022-04-27 11:41:25,625 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-27 11:41:25,625 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:41:25,625 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:41:25,641 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-27 11:41:25,827 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable62,54 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:41:25,828 INFO L420 AbstractCegarLoop]: === Iteration 64 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:41:25,829 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:41:25,829 INFO L85 PathProgramCache]: Analyzing trace with hash -774418501, now seen corresponding path program 54 times [2022-04-27 11:41:25,829 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:41:25,829 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [319847180] [2022-04-27 11:41:25,829 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:41:25,829 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:41:25,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:25,867 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:41:25,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:25,870 INFO L290 TraceCheckUtils]: 0: Hoare triple {92221#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {92179#true} is VALID [2022-04-27 11:41:25,870 INFO L290 TraceCheckUtils]: 1: Hoare triple {92179#true} assume true; {92179#true} is VALID [2022-04-27 11:41:25,870 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {92179#true} {92179#true} #117#return; {92179#true} is VALID [2022-04-27 11:41:25,870 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:41:25,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:25,930 INFO L290 TraceCheckUtils]: 0: Hoare triple {92179#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {92222#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:41:25,931 INFO L290 TraceCheckUtils]: 1: Hoare triple {92222#(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; {92223#(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-27 11:41:25,931 INFO L290 TraceCheckUtils]: 2: Hoare triple {92223#(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; {92224#(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-27 11:41:25,932 INFO L290 TraceCheckUtils]: 3: Hoare triple {92224#(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; {92225#(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-27 11:41:25,932 INFO L290 TraceCheckUtils]: 4: Hoare triple {92225#(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; {92226#(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-27 11:41:25,933 INFO L290 TraceCheckUtils]: 5: Hoare triple {92226#(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); {92227#(and (<= |correct_version_#in~n| (* 4 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:41:25,933 INFO L290 TraceCheckUtils]: 6: Hoare triple {92227#(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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:25,933 INFO L290 TraceCheckUtils]: 7: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~l~0 < ~m); {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:25,933 INFO L290 TraceCheckUtils]: 8: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:25,933 INFO L290 TraceCheckUtils]: 9: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:25,933 INFO L290 TraceCheckUtils]: 10: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:25,934 INFO L290 TraceCheckUtils]: 11: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:25,934 INFO L290 TraceCheckUtils]: 12: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:25,934 INFO L290 TraceCheckUtils]: 13: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:25,934 INFO L290 TraceCheckUtils]: 14: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} #res := ~y~0; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:25,934 INFO L290 TraceCheckUtils]: 15: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume true; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:25,935 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} {92179#true} #111#return; {92201#(<= main_~n~0 (* main_~a~0 4))} is VALID [2022-04-27 11:41:25,935 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-27 11:41:25,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:26,045 INFO L290 TraceCheckUtils]: 0: Hoare triple {92179#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {92229#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:41:26,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {92229#(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; {92230#(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-27 11:41:26,046 INFO L290 TraceCheckUtils]: 2: Hoare triple {92230#(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; {92231#(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-27 11:41:26,046 INFO L290 TraceCheckUtils]: 3: Hoare triple {92231#(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; {92232#(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-27 11:41:26,047 INFO L290 TraceCheckUtils]: 4: Hoare triple {92232#(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; {92233#(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-27 11:41:26,047 INFO L290 TraceCheckUtils]: 5: Hoare triple {92233#(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; {92234#(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-27 11:41:26,047 INFO L290 TraceCheckUtils]: 6: Hoare triple {92234#(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); {92235#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* student_version_~a 4) 1) |student_version_#in~n|))} is VALID [2022-04-27 11:41:26,047 INFO L290 TraceCheckUtils]: 7: Hoare triple {92235#(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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,048 INFO L290 TraceCheckUtils]: 9: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,048 INFO L290 TraceCheckUtils]: 10: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,048 INFO L290 TraceCheckUtils]: 11: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,048 INFO L290 TraceCheckUtils]: 12: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,048 INFO L290 TraceCheckUtils]: 13: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,049 INFO L290 TraceCheckUtils]: 14: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,049 INFO L290 TraceCheckUtils]: 15: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,049 INFO L290 TraceCheckUtils]: 16: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} #res := ~y~1; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,049 INFO L290 TraceCheckUtils]: 17: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume true; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,050 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} {92201#(<= main_~n~0 (* main_~a~0 4))} #113#return; {92180#false} is VALID [2022-04-27 11:41:26,050 INFO L272 TraceCheckUtils]: 0: Hoare triple {92179#true} call ULTIMATE.init(); {92221#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:41:26,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {92221#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {92179#true} is VALID [2022-04-27 11:41:26,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {92179#true} assume true; {92179#true} is VALID [2022-04-27 11:41:26,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {92179#true} {92179#true} #117#return; {92179#true} is VALID [2022-04-27 11:41:26,050 INFO L272 TraceCheckUtils]: 4: Hoare triple {92179#true} call #t~ret10 := main(); {92179#true} is VALID [2022-04-27 11:41:26,050 INFO L290 TraceCheckUtils]: 5: Hoare triple {92179#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {92179#true} is VALID [2022-04-27 11:41:26,050 INFO L290 TraceCheckUtils]: 6: Hoare triple {92179#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {92179#true} is VALID [2022-04-27 11:41:26,050 INFO L272 TraceCheckUtils]: 7: Hoare triple {92179#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {92179#true} is VALID [2022-04-27 11:41:26,051 INFO L290 TraceCheckUtils]: 8: Hoare triple {92179#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {92222#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:41:26,051 INFO L290 TraceCheckUtils]: 9: Hoare triple {92222#(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; {92223#(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-27 11:41:26,051 INFO L290 TraceCheckUtils]: 10: Hoare triple {92223#(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; {92224#(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-27 11:41:26,052 INFO L290 TraceCheckUtils]: 11: Hoare triple {92224#(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; {92225#(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-27 11:41:26,052 INFO L290 TraceCheckUtils]: 12: Hoare triple {92225#(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; {92226#(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-27 11:41:26,052 INFO L290 TraceCheckUtils]: 13: Hoare triple {92226#(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); {92227#(and (<= |correct_version_#in~n| (* 4 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:41:26,053 INFO L290 TraceCheckUtils]: 14: Hoare triple {92227#(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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,053 INFO L290 TraceCheckUtils]: 15: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~l~0 < ~m); {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,053 INFO L290 TraceCheckUtils]: 16: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,053 INFO L290 TraceCheckUtils]: 17: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,053 INFO L290 TraceCheckUtils]: 18: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,054 INFO L290 TraceCheckUtils]: 19: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,054 INFO L290 TraceCheckUtils]: 20: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,054 INFO L290 TraceCheckUtils]: 21: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,054 INFO L290 TraceCheckUtils]: 22: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} #res := ~y~0; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,054 INFO L290 TraceCheckUtils]: 23: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume true; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,055 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} {92179#true} #111#return; {92201#(<= main_~n~0 (* main_~a~0 4))} is VALID [2022-04-27 11:41:26,055 INFO L290 TraceCheckUtils]: 25: Hoare triple {92201#(<= main_~n~0 (* main_~a~0 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {92201#(<= main_~n~0 (* main_~a~0 4))} is VALID [2022-04-27 11:41:26,055 INFO L272 TraceCheckUtils]: 26: Hoare triple {92201#(<= main_~n~0 (* main_~a~0 4))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {92179#true} is VALID [2022-04-27 11:41:26,055 INFO L290 TraceCheckUtils]: 27: Hoare triple {92179#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {92229#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:41:26,056 INFO L290 TraceCheckUtils]: 28: Hoare triple {92229#(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; {92230#(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-27 11:41:26,056 INFO L290 TraceCheckUtils]: 29: Hoare triple {92230#(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; {92231#(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-27 11:41:26,056 INFO L290 TraceCheckUtils]: 30: Hoare triple {92231#(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; {92232#(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-27 11:41:26,057 INFO L290 TraceCheckUtils]: 31: Hoare triple {92232#(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; {92233#(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-27 11:41:26,057 INFO L290 TraceCheckUtils]: 32: Hoare triple {92233#(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; {92234#(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-27 11:41:26,058 INFO L290 TraceCheckUtils]: 33: Hoare triple {92234#(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); {92235#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* student_version_~a 4) 1) |student_version_#in~n|))} is VALID [2022-04-27 11:41:26,058 INFO L290 TraceCheckUtils]: 34: Hoare triple {92235#(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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,058 INFO L290 TraceCheckUtils]: 35: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,058 INFO L290 TraceCheckUtils]: 36: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,058 INFO L290 TraceCheckUtils]: 37: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,058 INFO L290 TraceCheckUtils]: 38: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,059 INFO L290 TraceCheckUtils]: 39: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,059 INFO L290 TraceCheckUtils]: 40: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,059 INFO L290 TraceCheckUtils]: 41: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,059 INFO L290 TraceCheckUtils]: 42: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,059 INFO L290 TraceCheckUtils]: 43: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} #res := ~y~1; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,059 INFO L290 TraceCheckUtils]: 44: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume true; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,060 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} {92201#(<= main_~n~0 (* main_~a~0 4))} #113#return; {92180#false} is VALID [2022-04-27 11:41:26,060 INFO L290 TraceCheckUtils]: 46: Hoare triple {92180#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {92180#false} is VALID [2022-04-27 11:41:26,060 INFO L272 TraceCheckUtils]: 47: Hoare triple {92180#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {92180#false} is VALID [2022-04-27 11:41:26,060 INFO L290 TraceCheckUtils]: 48: Hoare triple {92180#false} ~cond := #in~cond; {92180#false} is VALID [2022-04-27 11:41:26,060 INFO L290 TraceCheckUtils]: 49: Hoare triple {92180#false} assume 0 == ~cond; {92180#false} is VALID [2022-04-27 11:41:26,060 INFO L290 TraceCheckUtils]: 50: Hoare triple {92180#false} assume !false; {92180#false} is VALID [2022-04-27 11:41:26,060 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-27 11:41:26,060 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:41:26,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [319847180] [2022-04-27 11:41:26,061 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [319847180] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:41:26,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1673836376] [2022-04-27 11:41:26,061 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-27 11:41:26,061 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:41:26,061 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:41:26,062 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-27 11:41:26,062 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-27 11:41:26,156 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-27 11:41:26,157 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:41:26,157 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-27 11:41:26,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:26,166 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:41:26,767 INFO L272 TraceCheckUtils]: 0: Hoare triple {92179#true} call ULTIMATE.init(); {92179#true} is VALID [2022-04-27 11:41:26,767 INFO L290 TraceCheckUtils]: 1: Hoare triple {92179#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {92179#true} is VALID [2022-04-27 11:41:26,767 INFO L290 TraceCheckUtils]: 2: Hoare triple {92179#true} assume true; {92179#true} is VALID [2022-04-27 11:41:26,767 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {92179#true} {92179#true} #117#return; {92179#true} is VALID [2022-04-27 11:41:26,767 INFO L272 TraceCheckUtils]: 4: Hoare triple {92179#true} call #t~ret10 := main(); {92179#true} is VALID [2022-04-27 11:41:26,767 INFO L290 TraceCheckUtils]: 5: Hoare triple {92179#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {92179#true} is VALID [2022-04-27 11:41:26,768 INFO L290 TraceCheckUtils]: 6: Hoare triple {92179#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {92179#true} is VALID [2022-04-27 11:41:26,768 INFO L272 TraceCheckUtils]: 7: Hoare triple {92179#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {92179#true} is VALID [2022-04-27 11:41:26,768 INFO L290 TraceCheckUtils]: 8: Hoare triple {92179#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {92264#(and (<= correct_version_~b~0 0) (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:41:26,768 INFO L290 TraceCheckUtils]: 9: Hoare triple {92264#(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; {92268#(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-27 11:41:26,769 INFO L290 TraceCheckUtils]: 10: Hoare triple {92268#(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; {92272#(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-27 11:41:26,769 INFO L290 TraceCheckUtils]: 11: Hoare triple {92272#(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; {92276#(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-27 11:41:26,770 INFO L290 TraceCheckUtils]: 12: Hoare triple {92276#(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; {92280#(and (<= (div (- correct_version_~b~0) (- 4)) |correct_version_#in~a|) (<= |correct_version_#in~n| correct_version_~n))} is VALID [2022-04-27 11:41:26,770 INFO L290 TraceCheckUtils]: 13: Hoare triple {92280#(and (<= (div (- correct_version_~b~0) (- 4)) |correct_version_#in~a|) (<= |correct_version_#in~n| correct_version_~n))} assume !(~b~0 < ~n); {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,770 INFO L290 TraceCheckUtils]: 14: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,770 INFO L290 TraceCheckUtils]: 15: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~l~0 < ~m); {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,770 INFO L290 TraceCheckUtils]: 16: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,771 INFO L290 TraceCheckUtils]: 17: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,771 INFO L290 TraceCheckUtils]: 18: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,771 INFO L290 TraceCheckUtils]: 19: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,771 INFO L290 TraceCheckUtils]: 20: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,771 INFO L290 TraceCheckUtils]: 21: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,771 INFO L290 TraceCheckUtils]: 22: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} #res := ~y~0; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,771 INFO L290 TraceCheckUtils]: 23: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume true; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:26,772 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} {92179#true} #111#return; {92201#(<= main_~n~0 (* main_~a~0 4))} is VALID [2022-04-27 11:41:26,772 INFO L290 TraceCheckUtils]: 25: Hoare triple {92201#(<= main_~n~0 (* main_~a~0 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {92201#(<= main_~n~0 (* main_~a~0 4))} is VALID [2022-04-27 11:41:26,772 INFO L272 TraceCheckUtils]: 26: Hoare triple {92201#(<= main_~n~0 (* main_~a~0 4))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {92179#true} is VALID [2022-04-27 11:41:26,772 INFO L290 TraceCheckUtils]: 27: Hoare triple {92179#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {92326#(and (<= 0 student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-27 11:41:26,773 INFO L290 TraceCheckUtils]: 28: Hoare triple {92326#(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; {92330#(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-27 11:41:26,773 INFO L290 TraceCheckUtils]: 29: Hoare triple {92330#(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; {92334#(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-27 11:41:26,774 INFO L290 TraceCheckUtils]: 30: Hoare triple {92334#(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; {92338#(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-27 11:41:26,774 INFO L290 TraceCheckUtils]: 31: Hoare triple {92338#(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; {92342#(and (<= |student_version_#in~a| (div student_version_~b~1 4)) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-27 11:41:26,774 INFO L290 TraceCheckUtils]: 32: Hoare triple {92342#(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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,775 INFO L290 TraceCheckUtils]: 33: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,775 INFO L290 TraceCheckUtils]: 34: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,775 INFO L290 TraceCheckUtils]: 35: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,775 INFO L290 TraceCheckUtils]: 36: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,775 INFO L290 TraceCheckUtils]: 37: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,776 INFO L290 TraceCheckUtils]: 38: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,776 INFO L290 TraceCheckUtils]: 39: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,776 INFO L290 TraceCheckUtils]: 40: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,776 INFO L290 TraceCheckUtils]: 41: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,776 INFO L290 TraceCheckUtils]: 42: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,776 INFO L290 TraceCheckUtils]: 43: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} #res := ~y~1; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,776 INFO L290 TraceCheckUtils]: 44: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume true; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:26,777 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} {92201#(<= main_~n~0 (* main_~a~0 4))} #113#return; {92180#false} is VALID [2022-04-27 11:41:26,777 INFO L290 TraceCheckUtils]: 46: Hoare triple {92180#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {92180#false} is VALID [2022-04-27 11:41:26,777 INFO L272 TraceCheckUtils]: 47: Hoare triple {92180#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {92180#false} is VALID [2022-04-27 11:41:26,777 INFO L290 TraceCheckUtils]: 48: Hoare triple {92180#false} ~cond := #in~cond; {92180#false} is VALID [2022-04-27 11:41:26,777 INFO L290 TraceCheckUtils]: 49: Hoare triple {92180#false} assume 0 == ~cond; {92180#false} is VALID [2022-04-27 11:41:26,777 INFO L290 TraceCheckUtils]: 50: Hoare triple {92180#false} assume !false; {92180#false} is VALID [2022-04-27 11:41:26,777 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-27 11:41:26,777 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:41:27,765 INFO L290 TraceCheckUtils]: 50: Hoare triple {92180#false} assume !false; {92180#false} is VALID [2022-04-27 11:41:27,765 INFO L290 TraceCheckUtils]: 49: Hoare triple {92180#false} assume 0 == ~cond; {92180#false} is VALID [2022-04-27 11:41:27,766 INFO L290 TraceCheckUtils]: 48: Hoare triple {92180#false} ~cond := #in~cond; {92180#false} is VALID [2022-04-27 11:41:27,766 INFO L272 TraceCheckUtils]: 47: Hoare triple {92180#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {92180#false} is VALID [2022-04-27 11:41:27,766 INFO L290 TraceCheckUtils]: 46: Hoare triple {92180#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {92180#false} is VALID [2022-04-27 11:41:27,766 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} {92201#(<= main_~n~0 (* main_~a~0 4))} #113#return; {92180#false} is VALID [2022-04-27 11:41:27,766 INFO L290 TraceCheckUtils]: 44: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume true; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:27,767 INFO L290 TraceCheckUtils]: 43: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} #res := ~y~1; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:27,767 INFO L290 TraceCheckUtils]: 42: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:27,767 INFO L290 TraceCheckUtils]: 41: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:27,767 INFO L290 TraceCheckUtils]: 40: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:27,767 INFO L290 TraceCheckUtils]: 39: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:27,767 INFO L290 TraceCheckUtils]: 38: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:27,768 INFO L290 TraceCheckUtils]: 37: Hoare triple {92236#(<= (+ (* |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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:27,768 INFO L290 TraceCheckUtils]: 36: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:27,768 INFO L290 TraceCheckUtils]: 35: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:27,768 INFO L290 TraceCheckUtils]: 34: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:27,768 INFO L290 TraceCheckUtils]: 33: Hoare triple {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:27,769 INFO L290 TraceCheckUtils]: 32: Hoare triple {92457#(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; {92236#(<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:41:27,769 INFO L290 TraceCheckUtils]: 31: Hoare triple {92461#(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; {92457#(or (not (< student_version_~b~1 student_version_~n)) (<= (+ (* |student_version_#in~a| 4) 1) |student_version_#in~n|))} is VALID [2022-04-27 11:41:27,769 INFO L290 TraceCheckUtils]: 30: Hoare triple {92465#(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; {92461#(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-27 11:41:27,770 INFO L290 TraceCheckUtils]: 29: Hoare triple {92469#(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; {92465#(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-27 11:41:27,770 INFO L290 TraceCheckUtils]: 28: Hoare triple {92473#(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; {92469#(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-27 11:41:27,771 INFO L290 TraceCheckUtils]: 27: Hoare triple {92179#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {92473#(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-27 11:41:27,771 INFO L272 TraceCheckUtils]: 26: Hoare triple {92201#(<= main_~n~0 (* main_~a~0 4))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {92179#true} is VALID [2022-04-27 11:41:27,771 INFO L290 TraceCheckUtils]: 25: Hoare triple {92201#(<= main_~n~0 (* main_~a~0 4))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {92201#(<= main_~n~0 (* main_~a~0 4))} is VALID [2022-04-27 11:41:27,771 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} {92179#true} #111#return; {92201#(<= main_~n~0 (* main_~a~0 4))} is VALID [2022-04-27 11:41:27,772 INFO L290 TraceCheckUtils]: 23: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume true; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:27,772 INFO L290 TraceCheckUtils]: 22: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} #res := ~y~0; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:27,772 INFO L290 TraceCheckUtils]: 21: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~x~0 < ~i~0); {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:27,772 INFO L290 TraceCheckUtils]: 20: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:27,772 INFO L290 TraceCheckUtils]: 19: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:27,772 INFO L290 TraceCheckUtils]: 18: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:27,772 INFO L290 TraceCheckUtils]: 17: Hoare triple {92228#(<= |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; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:27,773 INFO L290 TraceCheckUtils]: 16: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} ~x~0 := 0;~y~0 := 0; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:27,773 INFO L290 TraceCheckUtils]: 15: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !(~l~0 < ~m); {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:27,773 INFO L290 TraceCheckUtils]: 14: Hoare triple {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:27,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {92519#(or (<= |correct_version_#in~n| (* |correct_version_#in~a| 4)) (< correct_version_~b~0 correct_version_~n))} assume !(~b~0 < ~n); {92228#(<= |correct_version_#in~n| (* |correct_version_#in~a| 4))} is VALID [2022-04-27 11:41:27,774 INFO L290 TraceCheckUtils]: 12: Hoare triple {92523#(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; {92519#(or (<= |correct_version_#in~n| (* |correct_version_#in~a| 4)) (< correct_version_~b~0 correct_version_~n))} is VALID [2022-04-27 11:41:27,774 INFO L290 TraceCheckUtils]: 11: Hoare triple {92527#(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; {92523#(or (<= |correct_version_#in~n| (* |correct_version_#in~a| 4)) (< (+ correct_version_~b~0 correct_version_~a) correct_version_~n))} is VALID [2022-04-27 11:41:27,774 INFO L290 TraceCheckUtils]: 10: Hoare triple {92531#(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; {92527#(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-27 11:41:27,775 INFO L290 TraceCheckUtils]: 9: Hoare triple {92535#(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; {92531#(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-27 11:41:27,775 INFO L290 TraceCheckUtils]: 8: Hoare triple {92179#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {92535#(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-27 11:41:27,775 INFO L272 TraceCheckUtils]: 7: Hoare triple {92179#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {92179#true} is VALID [2022-04-27 11:41:27,775 INFO L290 TraceCheckUtils]: 6: Hoare triple {92179#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {92179#true} is VALID [2022-04-27 11:41:27,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {92179#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {92179#true} is VALID [2022-04-27 11:41:27,775 INFO L272 TraceCheckUtils]: 4: Hoare triple {92179#true} call #t~ret10 := main(); {92179#true} is VALID [2022-04-27 11:41:27,775 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {92179#true} {92179#true} #117#return; {92179#true} is VALID [2022-04-27 11:41:27,776 INFO L290 TraceCheckUtils]: 2: Hoare triple {92179#true} assume true; {92179#true} is VALID [2022-04-27 11:41:27,776 INFO L290 TraceCheckUtils]: 1: Hoare triple {92179#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {92179#true} is VALID [2022-04-27 11:41:27,776 INFO L272 TraceCheckUtils]: 0: Hoare triple {92179#true} call ULTIMATE.init(); {92179#true} is VALID [2022-04-27 11:41:27,776 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-27 11:41:27,776 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1673836376] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:41:27,776 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:41:27,776 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 15, 15] total 39 [2022-04-27 11:41:27,776 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1749913914] [2022-04-27 11:41:27,776 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:41:27,777 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 39 states have (on average 1.641025641025641) internal successors, (64), 38 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-27 11:41:27,777 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:41:27,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 39 states, 39 states have (on average 1.641025641025641) internal successors, (64), 38 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:41:27,806 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:41:27,806 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 39 states [2022-04-27 11:41:27,806 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:41:27,808 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2022-04-27 11:41:27,808 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=134, Invalid=1348, Unknown=0, NotChecked=0, Total=1482 [2022-04-27 11:41:27,808 INFO L87 Difference]: Start difference. First operand 518 states and 595 transitions. Second operand has 39 states, 39 states have (on average 1.641025641025641) internal successors, (64), 38 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:41:33,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:41:33,199 INFO L93 Difference]: Finished difference Result 590 states and 681 transitions. [2022-04-27 11:41:33,199 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-27 11:41:33,200 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 39 states have (on average 1.641025641025641) internal successors, (64), 38 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-27 11:41:33,200 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:41:33,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 39 states have (on average 1.641025641025641) internal successors, (64), 38 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:41:33,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 130 transitions. [2022-04-27 11:41:33,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 39 states have (on average 1.641025641025641) internal successors, (64), 38 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:41:33,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 130 transitions. [2022-04-27 11:41:33,202 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 130 transitions. [2022-04-27 11:41:33,275 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-27 11:41:33,293 INFO L225 Difference]: With dead ends: 590 [2022-04-27 11:41:33,293 INFO L226 Difference]: Without dead ends: 573 [2022-04-27 11:41:33,295 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 81 SyntacticMatches, 5 SemanticMatches, 57 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 446 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=325, Invalid=3097, Unknown=0, NotChecked=0, Total=3422 [2022-04-27 11:41:33,297 INFO L413 NwaCegarLoop]: 71 mSDtfsCounter, 447 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 1862 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 451 SdHoareTripleChecker+Valid, 168 SdHoareTripleChecker+Invalid, 1912 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 1862 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:41:33,300 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [451 Valid, 168 Invalid, 1912 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 1862 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-27 11:41:33,301 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 573 states. [2022-04-27 11:41:36,110 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 573 to 568. [2022-04-27 11:41:36,110 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:41:36,110 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-27 11:41:36,111 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-27 11:41:36,111 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-27 11:41:36,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:41:36,123 INFO L93 Difference]: Finished difference Result 573 states and 656 transitions. [2022-04-27 11:41:36,123 INFO L276 IsEmpty]: Start isEmpty. Operand 573 states and 656 transitions. [2022-04-27 11:41:36,125 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:41:36,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:41:36,125 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-27 11:41:36,126 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-27 11:41:36,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:41:36,138 INFO L93 Difference]: Finished difference Result 573 states and 656 transitions. [2022-04-27 11:41:36,138 INFO L276 IsEmpty]: Start isEmpty. Operand 573 states and 656 transitions. [2022-04-27 11:41:36,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:41:36,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:41:36,140 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:41:36,140 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:41:36,140 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-27 11:41:36,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 568 states to 568 states and 651 transitions. [2022-04-27 11:41:36,156 INFO L78 Accepts]: Start accepts. Automaton has 568 states and 651 transitions. Word has length 51 [2022-04-27 11:41:36,156 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:41:36,156 INFO L495 AbstractCegarLoop]: Abstraction has 568 states and 651 transitions. [2022-04-27 11:41:36,156 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 39 states, 39 states have (on average 1.641025641025641) internal successors, (64), 38 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:41:36,156 INFO L276 IsEmpty]: Start isEmpty. Operand 568 states and 651 transitions. [2022-04-27 11:41:36,160 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-27 11:41:36,160 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:41:36,160 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:41:36,179 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-27 11:41:36,375 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable63,55 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:41:36,375 INFO L420 AbstractCegarLoop]: === Iteration 65 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:41:36,376 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:41:36,376 INFO L85 PathProgramCache]: Analyzing trace with hash -103251766, now seen corresponding path program 55 times [2022-04-27 11:41:36,376 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:41:36,376 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1467261544] [2022-04-27 11:41:36,376 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:41:36,376 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:41:36,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:36,451 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:41:36,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:36,462 INFO L290 TraceCheckUtils]: 0: Hoare triple {95470#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {95423#true} is VALID [2022-04-27 11:41:36,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {95423#true} assume true; {95423#true} is VALID [2022-04-27 11:41:36,463 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {95423#true} {95423#true} #117#return; {95423#true} is VALID [2022-04-27 11:41:36,463 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:41:36,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:36,555 INFO L290 TraceCheckUtils]: 0: Hoare triple {95423#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:36,555 INFO L290 TraceCheckUtils]: 1: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:36,555 INFO L290 TraceCheckUtils]: 2: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:36,556 INFO L290 TraceCheckUtils]: 3: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:36,556 INFO L290 TraceCheckUtils]: 4: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:36,556 INFO L290 TraceCheckUtils]: 5: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:36,556 INFO L290 TraceCheckUtils]: 6: Hoare triple {95471#(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; {95472#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:41:36,557 INFO L290 TraceCheckUtils]: 7: Hoare triple {95472#(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; {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:36,557 INFO L290 TraceCheckUtils]: 8: Hoare triple {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:36,557 INFO L290 TraceCheckUtils]: 9: Hoare triple {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {95474#(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-27 11:41:36,558 INFO L290 TraceCheckUtils]: 10: Hoare triple {95474#(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; {95475#(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-27 11:41:36,558 INFO L290 TraceCheckUtils]: 11: Hoare triple {95475#(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; {95476#(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-27 11:41:36,558 INFO L290 TraceCheckUtils]: 12: Hoare triple {95476#(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; {95477#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:41:36,560 INFO L290 TraceCheckUtils]: 13: Hoare triple {95477#(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; {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:41:36,560 INFO L290 TraceCheckUtils]: 14: Hoare triple {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:41:36,560 INFO L290 TraceCheckUtils]: 15: Hoare triple {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:41:36,560 INFO L290 TraceCheckUtils]: 16: Hoare triple {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:41:36,561 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {95423#true} #111#return; {95446#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-27 11:41:36,561 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-27 11:41:36,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:36,694 INFO L290 TraceCheckUtils]: 0: Hoare triple {95423#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:36,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:36,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:36,695 INFO L290 TraceCheckUtils]: 3: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:36,695 INFO L290 TraceCheckUtils]: 4: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:36,695 INFO L290 TraceCheckUtils]: 5: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:36,695 INFO L290 TraceCheckUtils]: 6: Hoare triple {95480#(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; {95481#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:41:36,696 INFO L290 TraceCheckUtils]: 7: Hoare triple {95481#(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; {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:36,696 INFO L290 TraceCheckUtils]: 8: Hoare triple {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:36,696 INFO L290 TraceCheckUtils]: 9: Hoare triple {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {95483#(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-27 11:41:36,697 INFO L290 TraceCheckUtils]: 10: Hoare triple {95483#(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; {95484#(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-27 11:41:36,697 INFO L290 TraceCheckUtils]: 11: Hoare triple {95484#(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; {95485#(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-27 11:41:36,698 INFO L290 TraceCheckUtils]: 12: Hoare triple {95485#(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; {95486#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:41:36,698 INFO L290 TraceCheckUtils]: 13: Hoare triple {95486#(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; {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:41:36,698 INFO L290 TraceCheckUtils]: 14: Hoare triple {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:41:36,698 INFO L290 TraceCheckUtils]: 15: Hoare triple {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:41:36,699 INFO L290 TraceCheckUtils]: 16: Hoare triple {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:41:36,699 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {95447#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {95466#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:41:36,700 INFO L272 TraceCheckUtils]: 0: Hoare triple {95423#true} call ULTIMATE.init(); {95470#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:41:36,700 INFO L290 TraceCheckUtils]: 1: Hoare triple {95470#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {95423#true} is VALID [2022-04-27 11:41:36,700 INFO L290 TraceCheckUtils]: 2: Hoare triple {95423#true} assume true; {95423#true} is VALID [2022-04-27 11:41:36,700 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95423#true} {95423#true} #117#return; {95423#true} is VALID [2022-04-27 11:41:36,700 INFO L272 TraceCheckUtils]: 4: Hoare triple {95423#true} call #t~ret10 := main(); {95423#true} is VALID [2022-04-27 11:41:36,700 INFO L290 TraceCheckUtils]: 5: Hoare triple {95423#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {95423#true} is VALID [2022-04-27 11:41:36,700 INFO L290 TraceCheckUtils]: 6: Hoare triple {95423#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {95423#true} is VALID [2022-04-27 11:41:36,700 INFO L272 TraceCheckUtils]: 7: Hoare triple {95423#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {95423#true} is VALID [2022-04-27 11:41:36,700 INFO L290 TraceCheckUtils]: 8: Hoare triple {95423#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:36,700 INFO L290 TraceCheckUtils]: 9: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:36,701 INFO L290 TraceCheckUtils]: 10: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:36,701 INFO L290 TraceCheckUtils]: 11: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:36,701 INFO L290 TraceCheckUtils]: 12: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:36,701 INFO L290 TraceCheckUtils]: 13: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:36,702 INFO L290 TraceCheckUtils]: 14: Hoare triple {95471#(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; {95472#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:41:36,702 INFO L290 TraceCheckUtils]: 15: Hoare triple {95472#(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; {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:36,702 INFO L290 TraceCheckUtils]: 16: Hoare triple {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:36,703 INFO L290 TraceCheckUtils]: 17: Hoare triple {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {95474#(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-27 11:41:36,703 INFO L290 TraceCheckUtils]: 18: Hoare triple {95474#(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; {95475#(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-27 11:41:36,703 INFO L290 TraceCheckUtils]: 19: Hoare triple {95475#(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; {95476#(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-27 11:41:36,704 INFO L290 TraceCheckUtils]: 20: Hoare triple {95476#(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; {95477#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:41:36,704 INFO L290 TraceCheckUtils]: 21: Hoare triple {95477#(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; {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:41:36,704 INFO L290 TraceCheckUtils]: 22: Hoare triple {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:41:36,705 INFO L290 TraceCheckUtils]: 23: Hoare triple {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:41:36,705 INFO L290 TraceCheckUtils]: 24: Hoare triple {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:41:36,705 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {95423#true} #111#return; {95446#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-27 11:41:36,705 INFO L290 TraceCheckUtils]: 26: Hoare triple {95446#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {95447#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-27 11:41:36,705 INFO L272 TraceCheckUtils]: 27: Hoare triple {95447#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {95423#true} is VALID [2022-04-27 11:41:36,706 INFO L290 TraceCheckUtils]: 28: Hoare triple {95423#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:36,706 INFO L290 TraceCheckUtils]: 29: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:36,706 INFO L290 TraceCheckUtils]: 30: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:36,706 INFO L290 TraceCheckUtils]: 31: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:36,707 INFO L290 TraceCheckUtils]: 32: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:36,707 INFO L290 TraceCheckUtils]: 33: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:36,707 INFO L290 TraceCheckUtils]: 34: Hoare triple {95480#(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; {95481#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:41:36,707 INFO L290 TraceCheckUtils]: 35: Hoare triple {95481#(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; {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:36,708 INFO L290 TraceCheckUtils]: 36: Hoare triple {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:36,708 INFO L290 TraceCheckUtils]: 37: Hoare triple {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {95483#(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-27 11:41:36,708 INFO L290 TraceCheckUtils]: 38: Hoare triple {95483#(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; {95484#(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-27 11:41:36,709 INFO L290 TraceCheckUtils]: 39: Hoare triple {95484#(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; {95485#(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-27 11:41:36,709 INFO L290 TraceCheckUtils]: 40: Hoare triple {95485#(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; {95486#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:41:36,709 INFO L290 TraceCheckUtils]: 41: Hoare triple {95486#(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; {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:41:36,710 INFO L290 TraceCheckUtils]: 42: Hoare triple {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:41:36,710 INFO L290 TraceCheckUtils]: 43: Hoare triple {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:41:36,710 INFO L290 TraceCheckUtils]: 44: Hoare triple {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:41:36,711 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {95447#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {95466#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:41:36,711 INFO L290 TraceCheckUtils]: 46: Hoare triple {95466#(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; {95467#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:41:36,711 INFO L272 TraceCheckUtils]: 47: Hoare triple {95467#(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)); {95468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:41:36,711 INFO L290 TraceCheckUtils]: 48: Hoare triple {95468#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {95469#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:41:36,712 INFO L290 TraceCheckUtils]: 49: Hoare triple {95469#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {95424#false} is VALID [2022-04-27 11:41:36,712 INFO L290 TraceCheckUtils]: 50: Hoare triple {95424#false} assume !false; {95424#false} is VALID [2022-04-27 11:41:36,712 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-27 11:41:36,712 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:41:36,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1467261544] [2022-04-27 11:41:36,712 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1467261544] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:41:36,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [439773638] [2022-04-27 11:41:36,712 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-04-27 11:41:36,712 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:41:36,712 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:41:36,713 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-27 11:41:36,714 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-27 11:41:36,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:36,788 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-27 11:41:36,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:36,794 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:41:37,318 INFO L272 TraceCheckUtils]: 0: Hoare triple {95423#true} call ULTIMATE.init(); {95423#true} is VALID [2022-04-27 11:41:37,319 INFO L290 TraceCheckUtils]: 1: Hoare triple {95423#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {95423#true} is VALID [2022-04-27 11:41:37,319 INFO L290 TraceCheckUtils]: 2: Hoare triple {95423#true} assume true; {95423#true} is VALID [2022-04-27 11:41:37,319 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95423#true} {95423#true} #117#return; {95423#true} is VALID [2022-04-27 11:41:37,319 INFO L272 TraceCheckUtils]: 4: Hoare triple {95423#true} call #t~ret10 := main(); {95423#true} is VALID [2022-04-27 11:41:37,319 INFO L290 TraceCheckUtils]: 5: Hoare triple {95423#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {95423#true} is VALID [2022-04-27 11:41:37,319 INFO L290 TraceCheckUtils]: 6: Hoare triple {95423#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {95423#true} is VALID [2022-04-27 11:41:37,319 INFO L272 TraceCheckUtils]: 7: Hoare triple {95423#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {95423#true} is VALID [2022-04-27 11:41:37,319 INFO L290 TraceCheckUtils]: 8: Hoare triple {95423#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:37,319 INFO L290 TraceCheckUtils]: 9: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:37,320 INFO L290 TraceCheckUtils]: 10: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:37,320 INFO L290 TraceCheckUtils]: 11: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:37,320 INFO L290 TraceCheckUtils]: 12: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:37,320 INFO L290 TraceCheckUtils]: 13: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:37,321 INFO L290 TraceCheckUtils]: 14: Hoare triple {95471#(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; {95472#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:41:37,321 INFO L290 TraceCheckUtils]: 15: Hoare triple {95472#(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; {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:37,321 INFO L290 TraceCheckUtils]: 16: Hoare triple {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:37,322 INFO L290 TraceCheckUtils]: 17: Hoare triple {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {95543#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 0))} is VALID [2022-04-27 11:41:37,322 INFO L290 TraceCheckUtils]: 18: Hoare triple {95543#(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; {95547#(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-27 11:41:37,322 INFO L290 TraceCheckUtils]: 19: Hoare triple {95547#(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; {95551#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 (* correct_version_~j~0 2)))} is VALID [2022-04-27 11:41:37,323 INFO L290 TraceCheckUtils]: 20: Hoare triple {95551#(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; {95555#(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-27 11:41:37,323 INFO L290 TraceCheckUtils]: 21: Hoare triple {95555#(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; {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:41:37,323 INFO L290 TraceCheckUtils]: 22: Hoare triple {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:41:37,324 INFO L290 TraceCheckUtils]: 23: Hoare triple {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:41:37,324 INFO L290 TraceCheckUtils]: 24: Hoare triple {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:41:37,324 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {95423#true} #111#return; {95446#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-27 11:41:37,325 INFO L290 TraceCheckUtils]: 26: Hoare triple {95446#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {95447#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-27 11:41:37,325 INFO L272 TraceCheckUtils]: 27: Hoare triple {95447#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {95423#true} is VALID [2022-04-27 11:41:37,325 INFO L290 TraceCheckUtils]: 28: Hoare triple {95423#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:37,325 INFO L290 TraceCheckUtils]: 29: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:37,325 INFO L290 TraceCheckUtils]: 30: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:37,326 INFO L290 TraceCheckUtils]: 31: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:37,326 INFO L290 TraceCheckUtils]: 32: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:37,326 INFO L290 TraceCheckUtils]: 33: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:37,327 INFO L290 TraceCheckUtils]: 34: Hoare triple {95480#(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; {95481#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:41:37,327 INFO L290 TraceCheckUtils]: 35: Hoare triple {95481#(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; {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:37,327 INFO L290 TraceCheckUtils]: 36: Hoare triple {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:37,327 INFO L290 TraceCheckUtils]: 37: Hoare triple {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {95607#(and (= student_version_~y~1 0) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:37,328 INFO L290 TraceCheckUtils]: 38: Hoare triple {95607#(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; {95611#(and (<= student_version_~j~1 2) (= student_version_~j~1 student_version_~y~1) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:37,328 INFO L290 TraceCheckUtils]: 39: Hoare triple {95611#(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; {95615#(and (<= student_version_~j~1 2) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:37,328 INFO L290 TraceCheckUtils]: 40: Hoare triple {95615#(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; {95619#(and (<= student_version_~j~1 2) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) (* 2 student_version_~j~1)) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:37,329 INFO L290 TraceCheckUtils]: 41: Hoare triple {95619#(and (<= student_version_~j~1 2) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) (* 2 student_version_~j~1)) (<= 2 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:41:37,329 INFO L290 TraceCheckUtils]: 42: Hoare triple {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:41:37,329 INFO L290 TraceCheckUtils]: 43: Hoare triple {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:41:37,329 INFO L290 TraceCheckUtils]: 44: Hoare triple {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:41:37,330 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {95447#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {95635#(and (<= |main_#t~ret9| 8) (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8) (<= 8 |main_#t~ret9|))} is VALID [2022-04-27 11:41:37,330 INFO L290 TraceCheckUtils]: 46: Hoare triple {95635#(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; {95639#(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-27 11:41:37,331 INFO L272 TraceCheckUtils]: 47: Hoare triple {95639#(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)); {95643#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:41:37,331 INFO L290 TraceCheckUtils]: 48: Hoare triple {95643#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {95647#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:41:37,331 INFO L290 TraceCheckUtils]: 49: Hoare triple {95647#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {95424#false} is VALID [2022-04-27 11:41:37,331 INFO L290 TraceCheckUtils]: 50: Hoare triple {95424#false} assume !false; {95424#false} is VALID [2022-04-27 11:41:37,331 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-27 11:41:37,331 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:41:37,720 INFO L290 TraceCheckUtils]: 50: Hoare triple {95424#false} assume !false; {95424#false} is VALID [2022-04-27 11:41:37,721 INFO L290 TraceCheckUtils]: 49: Hoare triple {95647#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {95424#false} is VALID [2022-04-27 11:41:37,721 INFO L290 TraceCheckUtils]: 48: Hoare triple {95643#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {95647#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:41:37,721 INFO L272 TraceCheckUtils]: 47: Hoare triple {95467#(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)); {95643#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:41:37,722 INFO L290 TraceCheckUtils]: 46: Hoare triple {95466#(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; {95467#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:41:37,723 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} {95447#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} #113#return; {95466#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:41:37,723 INFO L290 TraceCheckUtils]: 44: Hoare triple {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} assume true; {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:41:37,723 INFO L290 TraceCheckUtils]: 43: Hoare triple {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} #res := ~y~1; {95488#(and (<= |student_version_#res| 8) (<= 8 |student_version_#res|))} is VALID [2022-04-27 11:41:37,724 INFO L290 TraceCheckUtils]: 42: Hoare triple {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} assume !(~x~1 < ~i~1); {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:41:37,724 INFO L290 TraceCheckUtils]: 41: Hoare triple {95486#(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; {95487#(and (<= student_version_~y~1 8) (<= 8 student_version_~y~1))} is VALID [2022-04-27 11:41:37,725 INFO L290 TraceCheckUtils]: 40: Hoare triple {95485#(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; {95486#(and (<= (+ student_version_~j~1 student_version_~y~1) 8) (<= 8 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:41:37,725 INFO L290 TraceCheckUtils]: 39: Hoare triple {95484#(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; {95485#(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-27 11:41:37,726 INFO L290 TraceCheckUtils]: 38: Hoare triple {95483#(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; {95484#(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-27 11:41:37,726 INFO L290 TraceCheckUtils]: 37: Hoare triple {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {95483#(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-27 11:41:37,726 INFO L290 TraceCheckUtils]: 36: Hoare triple {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:37,727 INFO L290 TraceCheckUtils]: 35: Hoare triple {95481#(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; {95482#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:41:37,727 INFO L290 TraceCheckUtils]: 34: Hoare triple {95480#(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; {95481#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:41:37,727 INFO L290 TraceCheckUtils]: 33: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:37,728 INFO L290 TraceCheckUtils]: 32: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:37,728 INFO L290 TraceCheckUtils]: 31: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:37,728 INFO L290 TraceCheckUtils]: 30: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:37,729 INFO L290 TraceCheckUtils]: 29: Hoare triple {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:37,729 INFO L290 TraceCheckUtils]: 28: Hoare triple {95423#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {95480#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:41:37,729 INFO L272 TraceCheckUtils]: 27: Hoare triple {95447#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {95423#true} is VALID [2022-04-27 11:41:37,730 INFO L290 TraceCheckUtils]: 26: Hoare triple {95446#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {95447#(and (<= 8 main_~n_stones1~0) (<= main_~n_stones1~0 8))} is VALID [2022-04-27 11:41:37,730 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} {95423#true} #111#return; {95446#(and (<= 8 |main_#t~ret8|) (<= |main_#t~ret8| 8))} is VALID [2022-04-27 11:41:37,730 INFO L290 TraceCheckUtils]: 24: Hoare triple {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} assume true; {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:41:37,731 INFO L290 TraceCheckUtils]: 23: Hoare triple {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} #res := ~y~0; {95479#(and (<= 8 |correct_version_#res|) (<= |correct_version_#res| 8))} is VALID [2022-04-27 11:41:37,731 INFO L290 TraceCheckUtils]: 22: Hoare triple {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} assume !(~x~0 < ~i~0); {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:41:37,732 INFO L290 TraceCheckUtils]: 21: Hoare triple {95477#(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; {95478#(and (<= correct_version_~y~0 8) (<= 8 correct_version_~y~0))} is VALID [2022-04-27 11:41:37,732 INFO L290 TraceCheckUtils]: 20: Hoare triple {95476#(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; {95477#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 8) (<= 8 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:41:37,733 INFO L290 TraceCheckUtils]: 19: Hoare triple {95475#(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; {95476#(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-27 11:41:37,733 INFO L290 TraceCheckUtils]: 18: Hoare triple {95474#(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; {95475#(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-27 11:41:37,733 INFO L290 TraceCheckUtils]: 17: Hoare triple {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {95474#(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-27 11:41:37,734 INFO L290 TraceCheckUtils]: 16: Hoare triple {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:37,734 INFO L290 TraceCheckUtils]: 15: Hoare triple {95472#(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; {95473#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:41:37,735 INFO L290 TraceCheckUtils]: 14: Hoare triple {95471#(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; {95472#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:41:37,735 INFO L290 TraceCheckUtils]: 13: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:37,735 INFO L290 TraceCheckUtils]: 12: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:37,736 INFO L290 TraceCheckUtils]: 11: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:37,736 INFO L290 TraceCheckUtils]: 10: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:37,736 INFO L290 TraceCheckUtils]: 9: Hoare triple {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:37,737 INFO L290 TraceCheckUtils]: 8: Hoare triple {95423#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {95471#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:41:37,737 INFO L272 TraceCheckUtils]: 7: Hoare triple {95423#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {95423#true} is VALID [2022-04-27 11:41:37,737 INFO L290 TraceCheckUtils]: 6: Hoare triple {95423#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {95423#true} is VALID [2022-04-27 11:41:37,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {95423#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {95423#true} is VALID [2022-04-27 11:41:37,737 INFO L272 TraceCheckUtils]: 4: Hoare triple {95423#true} call #t~ret10 := main(); {95423#true} is VALID [2022-04-27 11:41:37,737 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95423#true} {95423#true} #117#return; {95423#true} is VALID [2022-04-27 11:41:37,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {95423#true} assume true; {95423#true} is VALID [2022-04-27 11:41:37,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {95423#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {95423#true} is VALID [2022-04-27 11:41:37,737 INFO L272 TraceCheckUtils]: 0: Hoare triple {95423#true} call ULTIMATE.init(); {95423#true} is VALID [2022-04-27 11:41:37,737 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-27 11:41:37,737 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [439773638] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:41:37,737 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:41:37,738 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 39 [2022-04-27 11:41:37,738 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2035519637] [2022-04-27 11:41:37,738 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:41:37,738 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 51 [2022-04-27 11:41:37,738 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:41:37,738 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:41:37,778 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-27 11:41:37,778 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 39 states [2022-04-27 11:41:37,778 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:41:37,779 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2022-04-27 11:41:37,779 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=1385, Unknown=0, NotChecked=0, Total=1482 [2022-04-27 11:41:37,779 INFO L87 Difference]: Start difference. First operand 568 states and 651 transitions. Second operand has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:41:42,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:41:42,797 INFO L93 Difference]: Finished difference Result 586 states and 673 transitions. [2022-04-27 11:41:42,797 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-27 11:41:42,797 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 51 [2022-04-27 11:41:42,797 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:41:42,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:41:42,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 100 transitions. [2022-04-27 11:41:42,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:41:42,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 100 transitions. [2022-04-27 11:41:42,798 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 100 transitions. [2022-04-27 11:41:42,845 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-27 11:41:42,861 INFO L225 Difference]: With dead ends: 586 [2022-04-27 11:41:42,861 INFO L226 Difference]: Without dead ends: 569 [2022-04-27 11:41:42,863 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 157 GetRequests, 86 SyntacticMatches, 9 SemanticMatches, 62 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 687 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=247, Invalid=3785, Unknown=0, NotChecked=0, Total=4032 [2022-04-27 11:41:42,863 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 79 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 1856 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 81 SdHoareTripleChecker+Valid, 188 SdHoareTripleChecker+Invalid, 1890 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 1856 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:41:42,864 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [81 Valid, 188 Invalid, 1890 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 1856 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-27 11:41:42,864 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 569 states. [2022-04-27 11:41:45,337 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 569 to 564. [2022-04-27 11:41:45,337 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:41:45,337 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-27 11:41:45,338 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-27 11:41:45,338 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-27 11:41:45,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:41:45,350 INFO L93 Difference]: Finished difference Result 569 states and 653 transitions. [2022-04-27 11:41:45,350 INFO L276 IsEmpty]: Start isEmpty. Operand 569 states and 653 transitions. [2022-04-27 11:41:45,352 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:41:45,352 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:41:45,352 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-27 11:41:45,352 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-27 11:41:45,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:41:45,365 INFO L93 Difference]: Finished difference Result 569 states and 653 transitions. [2022-04-27 11:41:45,365 INFO L276 IsEmpty]: Start isEmpty. Operand 569 states and 653 transitions. [2022-04-27 11:41:45,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:41:45,367 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:41:45,367 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:41:45,367 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:41:45,367 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-27 11:41:45,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 564 states to 564 states and 648 transitions. [2022-04-27 11:41:45,381 INFO L78 Accepts]: Start accepts. Automaton has 564 states and 648 transitions. Word has length 51 [2022-04-27 11:41:45,381 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:41:45,381 INFO L495 AbstractCegarLoop]: Abstraction has 564 states and 648 transitions. [2022-04-27 11:41:45,381 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 39 states, 36 states have (on average 1.4166666666666667) internal successors, (51), 33 states have internal predecessors, (51), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:41:45,382 INFO L276 IsEmpty]: Start isEmpty. Operand 564 states and 648 transitions. [2022-04-27 11:41:45,384 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-27 11:41:45,384 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:41:45,384 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:41:45,402 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (56)] Ended with exit code 0 [2022-04-27 11:41:45,604 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable64,56 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:41:45,605 INFO L420 AbstractCegarLoop]: === Iteration 66 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:41:45,605 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:41:45,605 INFO L85 PathProgramCache]: Analyzing trace with hash -2133704513, now seen corresponding path program 56 times [2022-04-27 11:41:45,605 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:41:45,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [411690473] [2022-04-27 11:41:45,605 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:41:45,605 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:41:45,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:45,644 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:41:45,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:45,646 INFO L290 TraceCheckUtils]: 0: Hoare triple {98698#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {98656#true} is VALID [2022-04-27 11:41:45,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {98656#true} assume true; {98656#true} is VALID [2022-04-27 11:41:45,646 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {98656#true} {98656#true} #117#return; {98656#true} is VALID [2022-04-27 11:41:45,646 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:41:45,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:45,712 INFO L290 TraceCheckUtils]: 0: Hoare triple {98656#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {98699#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:41:45,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {98699#(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; {98700#(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-27 11:41:45,713 INFO L290 TraceCheckUtils]: 2: Hoare triple {98700#(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; {98701#(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-27 11:41:45,713 INFO L290 TraceCheckUtils]: 3: Hoare triple {98701#(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; {98702#(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-27 11:41:45,713 INFO L290 TraceCheckUtils]: 4: Hoare triple {98702#(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; {98703#(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-27 11:41:45,714 INFO L290 TraceCheckUtils]: 5: Hoare triple {98703#(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; {98704#(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-27 11:41:45,714 INFO L290 TraceCheckUtils]: 6: Hoare triple {98704#(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); {98705#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 4 correct_version_~a) 1) |correct_version_#in~n|))} is VALID [2022-04-27 11:41:45,714 INFO L290 TraceCheckUtils]: 7: Hoare triple {98705#(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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,715 INFO L290 TraceCheckUtils]: 8: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,715 INFO L290 TraceCheckUtils]: 9: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,715 INFO L290 TraceCheckUtils]: 10: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,715 INFO L290 TraceCheckUtils]: 11: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,715 INFO L290 TraceCheckUtils]: 12: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,715 INFO L290 TraceCheckUtils]: 13: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,716 INFO L290 TraceCheckUtils]: 14: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,716 INFO L290 TraceCheckUtils]: 15: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,716 INFO L290 TraceCheckUtils]: 16: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} #res := ~y~0; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,716 INFO L290 TraceCheckUtils]: 17: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume true; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,717 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} {98656#true} #111#return; {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} is VALID [2022-04-27 11:41:45,717 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-27 11:41:45,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:45,793 INFO L290 TraceCheckUtils]: 0: Hoare triple {98656#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {98707#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:41:45,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {98707#(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; {98708#(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-27 11:41:45,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {98708#(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; {98709#(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-27 11:41:45,795 INFO L290 TraceCheckUtils]: 3: Hoare triple {98709#(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; {98710#(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-27 11:41:45,795 INFO L290 TraceCheckUtils]: 4: Hoare triple {98710#(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; {98711#(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-27 11:41:45,795 INFO L290 TraceCheckUtils]: 5: Hoare triple {98711#(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); {98712#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* student_version_~a 4)))} is VALID [2022-04-27 11:41:45,796 INFO L290 TraceCheckUtils]: 6: Hoare triple {98712#(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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,796 INFO L290 TraceCheckUtils]: 7: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~l~1 < ~m); {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,796 INFO L290 TraceCheckUtils]: 8: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,796 INFO L290 TraceCheckUtils]: 9: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,796 INFO L290 TraceCheckUtils]: 10: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,796 INFO L290 TraceCheckUtils]: 11: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,797 INFO L290 TraceCheckUtils]: 12: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,797 INFO L290 TraceCheckUtils]: 13: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,797 INFO L290 TraceCheckUtils]: 14: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} #res := ~y~1; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,797 INFO L290 TraceCheckUtils]: 15: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume true; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,797 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} #113#return; {98657#false} is VALID [2022-04-27 11:41:45,798 INFO L272 TraceCheckUtils]: 0: Hoare triple {98656#true} call ULTIMATE.init(); {98698#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:41:45,798 INFO L290 TraceCheckUtils]: 1: Hoare triple {98698#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {98656#true} is VALID [2022-04-27 11:41:45,798 INFO L290 TraceCheckUtils]: 2: Hoare triple {98656#true} assume true; {98656#true} is VALID [2022-04-27 11:41:45,798 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98656#true} {98656#true} #117#return; {98656#true} is VALID [2022-04-27 11:41:45,798 INFO L272 TraceCheckUtils]: 4: Hoare triple {98656#true} call #t~ret10 := main(); {98656#true} is VALID [2022-04-27 11:41:45,798 INFO L290 TraceCheckUtils]: 5: Hoare triple {98656#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {98656#true} is VALID [2022-04-27 11:41:45,798 INFO L290 TraceCheckUtils]: 6: Hoare triple {98656#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {98656#true} is VALID [2022-04-27 11:41:45,798 INFO L272 TraceCheckUtils]: 7: Hoare triple {98656#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {98656#true} is VALID [2022-04-27 11:41:45,798 INFO L290 TraceCheckUtils]: 8: Hoare triple {98656#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {98699#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:41:45,799 INFO L290 TraceCheckUtils]: 9: Hoare triple {98699#(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; {98700#(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-27 11:41:45,799 INFO L290 TraceCheckUtils]: 10: Hoare triple {98700#(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; {98701#(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-27 11:41:45,800 INFO L290 TraceCheckUtils]: 11: Hoare triple {98701#(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; {98702#(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-27 11:41:45,800 INFO L290 TraceCheckUtils]: 12: Hoare triple {98702#(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; {98703#(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-27 11:41:45,800 INFO L290 TraceCheckUtils]: 13: Hoare triple {98703#(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; {98704#(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-27 11:41:45,801 INFO L290 TraceCheckUtils]: 14: Hoare triple {98704#(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); {98705#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 4 correct_version_~a) 1) |correct_version_#in~n|))} is VALID [2022-04-27 11:41:45,801 INFO L290 TraceCheckUtils]: 15: Hoare triple {98705#(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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,801 INFO L290 TraceCheckUtils]: 16: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,801 INFO L290 TraceCheckUtils]: 17: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,801 INFO L290 TraceCheckUtils]: 18: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,801 INFO L290 TraceCheckUtils]: 19: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,802 INFO L290 TraceCheckUtils]: 20: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,802 INFO L290 TraceCheckUtils]: 21: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,802 INFO L290 TraceCheckUtils]: 22: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,802 INFO L290 TraceCheckUtils]: 23: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,802 INFO L290 TraceCheckUtils]: 24: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} #res := ~y~0; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,802 INFO L290 TraceCheckUtils]: 25: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume true; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:45,803 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} {98656#true} #111#return; {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} is VALID [2022-04-27 11:41:45,803 INFO L290 TraceCheckUtils]: 27: Hoare triple {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} is VALID [2022-04-27 11:41:45,803 INFO L272 TraceCheckUtils]: 28: Hoare triple {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {98656#true} is VALID [2022-04-27 11:41:45,803 INFO L290 TraceCheckUtils]: 29: Hoare triple {98656#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {98707#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:41:45,804 INFO L290 TraceCheckUtils]: 30: Hoare triple {98707#(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; {98708#(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-27 11:41:45,804 INFO L290 TraceCheckUtils]: 31: Hoare triple {98708#(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; {98709#(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-27 11:41:45,804 INFO L290 TraceCheckUtils]: 32: Hoare triple {98709#(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; {98710#(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-27 11:41:45,805 INFO L290 TraceCheckUtils]: 33: Hoare triple {98710#(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; {98711#(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-27 11:41:45,805 INFO L290 TraceCheckUtils]: 34: Hoare triple {98711#(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); {98712#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* student_version_~a 4)))} is VALID [2022-04-27 11:41:45,805 INFO L290 TraceCheckUtils]: 35: Hoare triple {98712#(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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,806 INFO L290 TraceCheckUtils]: 36: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~l~1 < ~m); {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,806 INFO L290 TraceCheckUtils]: 37: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,806 INFO L290 TraceCheckUtils]: 38: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,806 INFO L290 TraceCheckUtils]: 39: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,806 INFO L290 TraceCheckUtils]: 40: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,806 INFO L290 TraceCheckUtils]: 41: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,807 INFO L290 TraceCheckUtils]: 42: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,807 INFO L290 TraceCheckUtils]: 43: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} #res := ~y~1; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,807 INFO L290 TraceCheckUtils]: 44: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume true; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:45,807 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} #113#return; {98657#false} is VALID [2022-04-27 11:41:45,807 INFO L290 TraceCheckUtils]: 46: Hoare triple {98657#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {98657#false} is VALID [2022-04-27 11:41:45,807 INFO L272 TraceCheckUtils]: 47: Hoare triple {98657#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {98657#false} is VALID [2022-04-27 11:41:45,807 INFO L290 TraceCheckUtils]: 48: Hoare triple {98657#false} ~cond := #in~cond; {98657#false} is VALID [2022-04-27 11:41:45,808 INFO L290 TraceCheckUtils]: 49: Hoare triple {98657#false} assume 0 == ~cond; {98657#false} is VALID [2022-04-27 11:41:45,808 INFO L290 TraceCheckUtils]: 50: Hoare triple {98657#false} assume !false; {98657#false} is VALID [2022-04-27 11:41:45,808 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-27 11:41:45,808 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:41:45,808 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [411690473] [2022-04-27 11:41:45,808 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [411690473] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:41:45,808 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1086059103] [2022-04-27 11:41:45,808 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:41:45,823 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:41:45,823 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:41:45,825 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-27 11:41:45,825 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-27 11:41:45,896 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:41:45,896 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:41:45,897 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-27 11:41:45,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:45,905 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:41:46,503 INFO L272 TraceCheckUtils]: 0: Hoare triple {98656#true} call ULTIMATE.init(); {98656#true} is VALID [2022-04-27 11:41:46,503 INFO L290 TraceCheckUtils]: 1: Hoare triple {98656#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {98656#true} is VALID [2022-04-27 11:41:46,503 INFO L290 TraceCheckUtils]: 2: Hoare triple {98656#true} assume true; {98656#true} is VALID [2022-04-27 11:41:46,503 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98656#true} {98656#true} #117#return; {98656#true} is VALID [2022-04-27 11:41:46,503 INFO L272 TraceCheckUtils]: 4: Hoare triple {98656#true} call #t~ret10 := main(); {98656#true} is VALID [2022-04-27 11:41:46,503 INFO L290 TraceCheckUtils]: 5: Hoare triple {98656#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {98656#true} is VALID [2022-04-27 11:41:46,503 INFO L290 TraceCheckUtils]: 6: Hoare triple {98656#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {98656#true} is VALID [2022-04-27 11:41:46,503 INFO L272 TraceCheckUtils]: 7: Hoare triple {98656#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {98656#true} is VALID [2022-04-27 11:41:46,503 INFO L290 TraceCheckUtils]: 8: Hoare triple {98656#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {98741#(and (<= correct_version_~n |correct_version_#in~n|) (<= 0 correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:41:46,504 INFO L290 TraceCheckUtils]: 9: Hoare triple {98741#(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; {98745#(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-27 11:41:46,505 INFO L290 TraceCheckUtils]: 10: Hoare triple {98745#(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; {98749#(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-27 11:41:46,505 INFO L290 TraceCheckUtils]: 11: Hoare triple {98749#(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; {98753#(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-27 11:41:46,506 INFO L290 TraceCheckUtils]: 12: Hoare triple {98753#(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; {98757#(and (<= correct_version_~n |correct_version_#in~n|) (<= |correct_version_#in~a| (div correct_version_~b~0 4)))} is VALID [2022-04-27 11:41:46,506 INFO L290 TraceCheckUtils]: 13: Hoare triple {98757#(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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:46,506 INFO L290 TraceCheckUtils]: 14: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:46,507 INFO L290 TraceCheckUtils]: 15: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:46,507 INFO L290 TraceCheckUtils]: 16: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:46,507 INFO L290 TraceCheckUtils]: 17: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:46,507 INFO L290 TraceCheckUtils]: 18: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:46,508 INFO L290 TraceCheckUtils]: 19: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:46,508 INFO L290 TraceCheckUtils]: 20: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:46,508 INFO L290 TraceCheckUtils]: 21: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:46,508 INFO L290 TraceCheckUtils]: 22: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:46,509 INFO L290 TraceCheckUtils]: 23: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:46,509 INFO L290 TraceCheckUtils]: 24: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} #res := ~y~0; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:46,509 INFO L290 TraceCheckUtils]: 25: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume true; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:46,510 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} {98656#true} #111#return; {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} is VALID [2022-04-27 11:41:46,510 INFO L290 TraceCheckUtils]: 27: Hoare triple {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} is VALID [2022-04-27 11:41:46,510 INFO L272 TraceCheckUtils]: 28: Hoare triple {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {98656#true} is VALID [2022-04-27 11:41:46,510 INFO L290 TraceCheckUtils]: 29: Hoare triple {98656#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {98809#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 0) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:41:46,511 INFO L290 TraceCheckUtils]: 30: Hoare triple {98809#(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; {98813#(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-27 11:41:46,511 INFO L290 TraceCheckUtils]: 31: Hoare triple {98813#(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; {98817#(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-27 11:41:46,512 INFO L290 TraceCheckUtils]: 32: Hoare triple {98817#(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; {98821#(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-27 11:41:46,512 INFO L290 TraceCheckUtils]: 33: Hoare triple {98821#(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; {98825#(and (<= |student_version_#in~n| student_version_~n) (<= (div (- student_version_~b~1) (- 4)) |student_version_#in~a|))} is VALID [2022-04-27 11:41:46,513 INFO L290 TraceCheckUtils]: 34: Hoare triple {98825#(and (<= |student_version_#in~n| student_version_~n) (<= (div (- student_version_~b~1) (- 4)) |student_version_#in~a|))} assume !(~b~1 < ~n); {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:46,513 INFO L290 TraceCheckUtils]: 35: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:46,513 INFO L290 TraceCheckUtils]: 36: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~l~1 < ~m); {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:46,514 INFO L290 TraceCheckUtils]: 37: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:46,514 INFO L290 TraceCheckUtils]: 38: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:46,514 INFO L290 TraceCheckUtils]: 39: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:46,514 INFO L290 TraceCheckUtils]: 40: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:46,515 INFO L290 TraceCheckUtils]: 41: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:46,515 INFO L290 TraceCheckUtils]: 42: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:46,515 INFO L290 TraceCheckUtils]: 43: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} #res := ~y~1; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:46,515 INFO L290 TraceCheckUtils]: 44: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume true; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:46,516 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} #113#return; {98657#false} is VALID [2022-04-27 11:41:46,516 INFO L290 TraceCheckUtils]: 46: Hoare triple {98657#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {98657#false} is VALID [2022-04-27 11:41:46,516 INFO L272 TraceCheckUtils]: 47: Hoare triple {98657#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {98657#false} is VALID [2022-04-27 11:41:46,516 INFO L290 TraceCheckUtils]: 48: Hoare triple {98657#false} ~cond := #in~cond; {98657#false} is VALID [2022-04-27 11:41:46,516 INFO L290 TraceCheckUtils]: 49: Hoare triple {98657#false} assume 0 == ~cond; {98657#false} is VALID [2022-04-27 11:41:46,516 INFO L290 TraceCheckUtils]: 50: Hoare triple {98657#false} assume !false; {98657#false} is VALID [2022-04-27 11:41:46,516 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-27 11:41:46,517 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:41:47,411 INFO L290 TraceCheckUtils]: 50: Hoare triple {98657#false} assume !false; {98657#false} is VALID [2022-04-27 11:41:47,412 INFO L290 TraceCheckUtils]: 49: Hoare triple {98657#false} assume 0 == ~cond; {98657#false} is VALID [2022-04-27 11:41:47,412 INFO L290 TraceCheckUtils]: 48: Hoare triple {98657#false} ~cond := #in~cond; {98657#false} is VALID [2022-04-27 11:41:47,412 INFO L272 TraceCheckUtils]: 47: Hoare triple {98657#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {98657#false} is VALID [2022-04-27 11:41:47,412 INFO L290 TraceCheckUtils]: 46: Hoare triple {98657#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {98657#false} is VALID [2022-04-27 11:41:47,412 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} #113#return; {98657#false} is VALID [2022-04-27 11:41:47,413 INFO L290 TraceCheckUtils]: 44: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume true; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:47,413 INFO L290 TraceCheckUtils]: 43: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} #res := ~y~1; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:47,413 INFO L290 TraceCheckUtils]: 42: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~x~1 < ~i~1); {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:47,413 INFO L290 TraceCheckUtils]: 41: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:47,413 INFO L290 TraceCheckUtils]: 40: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:47,413 INFO L290 TraceCheckUtils]: 39: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:47,414 INFO L290 TraceCheckUtils]: 38: Hoare triple {98713#(<= |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; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:47,414 INFO L290 TraceCheckUtils]: 37: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} ~x~1 := 0;~y~1 := 0; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:47,414 INFO L290 TraceCheckUtils]: 36: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !(~l~1 < ~m); {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:47,414 INFO L290 TraceCheckUtils]: 35: Hoare triple {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:47,414 INFO L290 TraceCheckUtils]: 34: Hoare triple {98928#(or (<= |student_version_#in~n| (* |student_version_#in~a| 4)) (< student_version_~b~1 student_version_~n))} assume !(~b~1 < ~n); {98713#(<= |student_version_#in~n| (* |student_version_#in~a| 4))} is VALID [2022-04-27 11:41:47,415 INFO L290 TraceCheckUtils]: 33: Hoare triple {98932#(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; {98928#(or (<= |student_version_#in~n| (* |student_version_#in~a| 4)) (< student_version_~b~1 student_version_~n))} is VALID [2022-04-27 11:41:47,415 INFO L290 TraceCheckUtils]: 32: Hoare triple {98936#(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; {98932#(or (<= |student_version_#in~n| (* |student_version_#in~a| 4)) (< (+ student_version_~b~1 student_version_~a) student_version_~n))} is VALID [2022-04-27 11:41:47,416 INFO L290 TraceCheckUtils]: 31: Hoare triple {98940#(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; {98936#(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-27 11:41:47,416 INFO L290 TraceCheckUtils]: 30: Hoare triple {98944#(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; {98940#(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-27 11:41:47,416 INFO L290 TraceCheckUtils]: 29: Hoare triple {98656#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {98944#(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-27 11:41:47,416 INFO L272 TraceCheckUtils]: 28: Hoare triple {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {98656#true} is VALID [2022-04-27 11:41:47,417 INFO L290 TraceCheckUtils]: 27: Hoare triple {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} is VALID [2022-04-27 11:41:47,417 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} {98656#true} #111#return; {98680#(<= (+ (* main_~a~0 4) 1) main_~n~0)} is VALID [2022-04-27 11:41:47,417 INFO L290 TraceCheckUtils]: 25: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume true; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:47,417 INFO L290 TraceCheckUtils]: 24: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} #res := ~y~0; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:47,418 INFO L290 TraceCheckUtils]: 23: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:47,418 INFO L290 TraceCheckUtils]: 22: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:47,418 INFO L290 TraceCheckUtils]: 21: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:47,418 INFO L290 TraceCheckUtils]: 20: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:47,418 INFO L290 TraceCheckUtils]: 19: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:47,418 INFO L290 TraceCheckUtils]: 18: Hoare triple {98706#(<= (+ (* |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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:47,418 INFO L290 TraceCheckUtils]: 17: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:47,419 INFO L290 TraceCheckUtils]: 16: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:47,419 INFO L290 TraceCheckUtils]: 15: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:47,419 INFO L290 TraceCheckUtils]: 14: Hoare triple {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:47,419 INFO L290 TraceCheckUtils]: 13: Hoare triple {98996#(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; {98706#(<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:41:47,420 INFO L290 TraceCheckUtils]: 12: Hoare triple {99000#(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; {98996#(or (not (< correct_version_~b~0 correct_version_~n)) (<= (+ (* |correct_version_#in~a| 4) 1) |correct_version_#in~n|))} is VALID [2022-04-27 11:41:47,420 INFO L290 TraceCheckUtils]: 11: Hoare triple {99004#(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; {99000#(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-27 11:41:47,421 INFO L290 TraceCheckUtils]: 10: Hoare triple {99008#(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; {99004#(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-27 11:41:47,421 INFO L290 TraceCheckUtils]: 9: Hoare triple {99012#(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; {99008#(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-27 11:41:47,421 INFO L290 TraceCheckUtils]: 8: Hoare triple {98656#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {99012#(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-27 11:41:47,421 INFO L272 TraceCheckUtils]: 7: Hoare triple {98656#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {98656#true} is VALID [2022-04-27 11:41:47,421 INFO L290 TraceCheckUtils]: 6: Hoare triple {98656#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {98656#true} is VALID [2022-04-27 11:41:47,421 INFO L290 TraceCheckUtils]: 5: Hoare triple {98656#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {98656#true} is VALID [2022-04-27 11:41:47,422 INFO L272 TraceCheckUtils]: 4: Hoare triple {98656#true} call #t~ret10 := main(); {98656#true} is VALID [2022-04-27 11:41:47,422 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98656#true} {98656#true} #117#return; {98656#true} is VALID [2022-04-27 11:41:47,422 INFO L290 TraceCheckUtils]: 2: Hoare triple {98656#true} assume true; {98656#true} is VALID [2022-04-27 11:41:47,422 INFO L290 TraceCheckUtils]: 1: Hoare triple {98656#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {98656#true} is VALID [2022-04-27 11:41:47,422 INFO L272 TraceCheckUtils]: 0: Hoare triple {98656#true} call ULTIMATE.init(); {98656#true} is VALID [2022-04-27 11:41:47,422 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-27 11:41:47,422 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1086059103] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:41:47,422 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:41:47,422 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 15, 15] total 39 [2022-04-27 11:41:47,422 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1856250848] [2022-04-27 11:41:47,422 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:41:47,423 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 39 states have (on average 1.641025641025641) internal successors, (64), 38 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-27 11:41:47,423 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:41:47,423 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 39 states, 39 states have (on average 1.641025641025641) internal successors, (64), 38 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:41:47,452 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:41:47,452 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 39 states [2022-04-27 11:41:47,452 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:41:47,453 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2022-04-27 11:41:47,453 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=134, Invalid=1348, Unknown=0, NotChecked=0, Total=1482 [2022-04-27 11:41:47,453 INFO L87 Difference]: Start difference. First operand 564 states and 648 transitions. Second operand has 39 states, 39 states have (on average 1.641025641025641) internal successors, (64), 38 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:41:53,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:41:53,886 INFO L93 Difference]: Finished difference Result 578 states and 661 transitions. [2022-04-27 11:41:53,886 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-27 11:41:53,886 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 39 states have (on average 1.641025641025641) internal successors, (64), 38 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-27 11:41:53,886 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:41:53,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 39 states have (on average 1.641025641025641) internal successors, (64), 38 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:41:53,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 129 transitions. [2022-04-27 11:41:53,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 39 states have (on average 1.641025641025641) internal successors, (64), 38 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:41:53,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 129 transitions. [2022-04-27 11:41:53,897 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 129 transitions. [2022-04-27 11:41:54,016 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-27 11:41:54,033 INFO L225 Difference]: With dead ends: 578 [2022-04-27 11:41:54,033 INFO L226 Difference]: Without dead ends: 554 [2022-04-27 11:41:54,035 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 80 SyntacticMatches, 6 SemanticMatches, 57 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 454 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=325, Invalid=3097, Unknown=0, NotChecked=0, Total=3422 [2022-04-27 11:41:54,035 INFO L413 NwaCegarLoop]: 67 mSDtfsCounter, 458 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 1742 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 467 SdHoareTripleChecker+Valid, 154 SdHoareTripleChecker+Invalid, 1789 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 1742 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:41:54,036 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [467 Valid, 154 Invalid, 1789 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 1742 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-27 11:41:54,036 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 554 states. [2022-04-27 11:41:57,157 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 554 to 552. [2022-04-27 11:41:57,157 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:41:57,158 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-27 11:41:57,158 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-27 11:41:57,158 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-27 11:41:57,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:41:57,170 INFO L93 Difference]: Finished difference Result 554 states and 630 transitions. [2022-04-27 11:41:57,170 INFO L276 IsEmpty]: Start isEmpty. Operand 554 states and 630 transitions. [2022-04-27 11:41:57,172 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:41:57,172 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:41:57,173 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-27 11:41:57,173 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-27 11:41:57,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:41:57,184 INFO L93 Difference]: Finished difference Result 554 states and 630 transitions. [2022-04-27 11:41:57,184 INFO L276 IsEmpty]: Start isEmpty. Operand 554 states and 630 transitions. [2022-04-27 11:41:57,186 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:41:57,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:41:57,186 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:41:57,186 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:41:57,186 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-27 11:41:57,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 552 states to 552 states and 628 transitions. [2022-04-27 11:41:57,201 INFO L78 Accepts]: Start accepts. Automaton has 552 states and 628 transitions. Word has length 51 [2022-04-27 11:41:57,201 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:41:57,201 INFO L495 AbstractCegarLoop]: Abstraction has 552 states and 628 transitions. [2022-04-27 11:41:57,201 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 39 states, 39 states have (on average 1.641025641025641) internal successors, (64), 38 states have internal predecessors, (64), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:41:57,201 INFO L276 IsEmpty]: Start isEmpty. Operand 552 states and 628 transitions. [2022-04-27 11:41:57,204 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-27 11:41:57,204 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:41:57,204 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:41:57,220 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-27 11:41:57,420 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable65,57 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:41:57,420 INFO L420 AbstractCegarLoop]: === Iteration 67 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:41:57,420 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:41:57,420 INFO L85 PathProgramCache]: Analyzing trace with hash -2068699601, now seen corresponding path program 57 times [2022-04-27 11:41:57,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:41:57,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1356715568] [2022-04-27 11:41:57,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:41:57,420 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:41:57,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:57,447 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:41:57,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:57,449 INFO L290 TraceCheckUtils]: 0: Hoare triple {101855#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {101812#true} is VALID [2022-04-27 11:41:57,449 INFO L290 TraceCheckUtils]: 1: Hoare triple {101812#true} assume true; {101812#true} is VALID [2022-04-27 11:41:57,449 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {101812#true} {101812#true} #117#return; {101812#true} is VALID [2022-04-27 11:41:57,450 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:41:57,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:57,551 INFO L290 TraceCheckUtils]: 0: Hoare triple {101812#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {101856#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:41:57,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {101856#(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; {101856#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:41:57,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {101856#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {101856#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:41:57,552 INFO L290 TraceCheckUtils]: 3: Hoare triple {101856#(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; {101857#(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-27 11:41:57,552 INFO L290 TraceCheckUtils]: 4: Hoare triple {101857#(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; {101858#(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-27 11:41:57,553 INFO L290 TraceCheckUtils]: 5: Hoare triple {101858#(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; {101859#(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-27 11:41:57,553 INFO L290 TraceCheckUtils]: 6: Hoare triple {101859#(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; {101860#(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-27 11:41:57,553 INFO L290 TraceCheckUtils]: 7: Hoare triple {101860#(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; {101861#(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-27 11:41:57,554 INFO L290 TraceCheckUtils]: 8: Hoare triple {101861#(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; {101862#(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-27 11:41:57,554 INFO L290 TraceCheckUtils]: 9: Hoare triple {101862#(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; {101863#(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-27 11:41:57,555 INFO L290 TraceCheckUtils]: 10: Hoare triple {101863#(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; {101864#(and (<= correct_version_~l~0 (* 8 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-27 11:41:57,555 INFO L290 TraceCheckUtils]: 11: Hoare triple {101864#(and (<= correct_version_~l~0 (* 8 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:57,555 INFO L290 TraceCheckUtils]: 12: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:57,555 INFO L290 TraceCheckUtils]: 13: Hoare triple {101865#(<= |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; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:57,555 INFO L290 TraceCheckUtils]: 14: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:57,556 INFO L290 TraceCheckUtils]: 15: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} #res := ~y~0; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:57,556 INFO L290 TraceCheckUtils]: 16: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume true; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:57,556 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} {101812#true} #111#return; {101835#(<= main_~m~0 (* main_~a~0 8))} is VALID [2022-04-27 11:41:57,556 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-27 11:41:57,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:57,708 INFO L290 TraceCheckUtils]: 0: Hoare triple {101812#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {101866#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:41:57,708 INFO L290 TraceCheckUtils]: 1: Hoare triple {101866#(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; {101866#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:41:57,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {101866#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {101866#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:41:57,709 INFO L290 TraceCheckUtils]: 3: Hoare triple {101866#(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; {101867#(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-27 11:41:57,709 INFO L290 TraceCheckUtils]: 4: Hoare triple {101867#(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; {101868#(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-27 11:41:57,709 INFO L290 TraceCheckUtils]: 5: Hoare triple {101868#(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; {101869#(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-27 11:41:57,710 INFO L290 TraceCheckUtils]: 6: Hoare triple {101869#(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; {101870#(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-27 11:41:57,710 INFO L290 TraceCheckUtils]: 7: Hoare triple {101870#(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; {101871#(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-27 11:41:57,711 INFO L290 TraceCheckUtils]: 8: Hoare triple {101871#(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; {101872#(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-27 11:41:57,711 INFO L290 TraceCheckUtils]: 9: Hoare triple {101872#(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; {101873#(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-27 11:41:57,711 INFO L290 TraceCheckUtils]: 10: Hoare triple {101873#(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; {101874#(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-27 11:41:57,712 INFO L290 TraceCheckUtils]: 11: Hoare triple {101874#(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; {101875#(and (<= (+ (* |student_version_#in~a| 8) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:41:57,712 INFO L290 TraceCheckUtils]: 12: Hoare triple {101875#(and (<= (+ (* |student_version_#in~a| 8) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:57,712 INFO L290 TraceCheckUtils]: 13: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:57,712 INFO L290 TraceCheckUtils]: 14: Hoare triple {101876#(<= (+ (* |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; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:57,713 INFO L290 TraceCheckUtils]: 15: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:57,713 INFO L290 TraceCheckUtils]: 16: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} #res := ~y~1; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:57,713 INFO L290 TraceCheckUtils]: 17: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume true; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:57,713 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} {101835#(<= main_~m~0 (* main_~a~0 8))} #113#return; {101813#false} is VALID [2022-04-27 11:41:57,714 INFO L272 TraceCheckUtils]: 0: Hoare triple {101812#true} call ULTIMATE.init(); {101855#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:41:57,714 INFO L290 TraceCheckUtils]: 1: Hoare triple {101855#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {101812#true} is VALID [2022-04-27 11:41:57,714 INFO L290 TraceCheckUtils]: 2: Hoare triple {101812#true} assume true; {101812#true} is VALID [2022-04-27 11:41:57,714 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {101812#true} {101812#true} #117#return; {101812#true} is VALID [2022-04-27 11:41:57,714 INFO L272 TraceCheckUtils]: 4: Hoare triple {101812#true} call #t~ret10 := main(); {101812#true} is VALID [2022-04-27 11:41:57,714 INFO L290 TraceCheckUtils]: 5: Hoare triple {101812#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {101812#true} is VALID [2022-04-27 11:41:57,714 INFO L290 TraceCheckUtils]: 6: Hoare triple {101812#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {101812#true} is VALID [2022-04-27 11:41:57,714 INFO L272 TraceCheckUtils]: 7: Hoare triple {101812#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {101812#true} is VALID [2022-04-27 11:41:57,714 INFO L290 TraceCheckUtils]: 8: Hoare triple {101812#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {101856#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:41:57,715 INFO L290 TraceCheckUtils]: 9: Hoare triple {101856#(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; {101856#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:41:57,715 INFO L290 TraceCheckUtils]: 10: Hoare triple {101856#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {101856#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:41:57,715 INFO L290 TraceCheckUtils]: 11: Hoare triple {101856#(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; {101857#(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-27 11:41:57,716 INFO L290 TraceCheckUtils]: 12: Hoare triple {101857#(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; {101858#(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-27 11:41:57,716 INFO L290 TraceCheckUtils]: 13: Hoare triple {101858#(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; {101859#(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-27 11:41:57,716 INFO L290 TraceCheckUtils]: 14: Hoare triple {101859#(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; {101860#(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-27 11:41:57,717 INFO L290 TraceCheckUtils]: 15: Hoare triple {101860#(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; {101861#(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-27 11:41:57,717 INFO L290 TraceCheckUtils]: 16: Hoare triple {101861#(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; {101862#(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-27 11:41:57,718 INFO L290 TraceCheckUtils]: 17: Hoare triple {101862#(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; {101863#(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-27 11:41:57,718 INFO L290 TraceCheckUtils]: 18: Hoare triple {101863#(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; {101864#(and (<= correct_version_~l~0 (* 8 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-27 11:41:57,718 INFO L290 TraceCheckUtils]: 19: Hoare triple {101864#(and (<= correct_version_~l~0 (* 8 |correct_version_#in~a|)) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:57,718 INFO L290 TraceCheckUtils]: 20: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:57,719 INFO L290 TraceCheckUtils]: 21: Hoare triple {101865#(<= |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; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:57,719 INFO L290 TraceCheckUtils]: 22: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:57,719 INFO L290 TraceCheckUtils]: 23: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} #res := ~y~0; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:57,719 INFO L290 TraceCheckUtils]: 24: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume true; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:57,720 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} {101812#true} #111#return; {101835#(<= main_~m~0 (* main_~a~0 8))} is VALID [2022-04-27 11:41:57,720 INFO L290 TraceCheckUtils]: 26: Hoare triple {101835#(<= main_~m~0 (* main_~a~0 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {101835#(<= main_~m~0 (* main_~a~0 8))} is VALID [2022-04-27 11:41:57,720 INFO L272 TraceCheckUtils]: 27: Hoare triple {101835#(<= main_~m~0 (* main_~a~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {101812#true} is VALID [2022-04-27 11:41:57,720 INFO L290 TraceCheckUtils]: 28: Hoare triple {101812#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {101866#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:41:57,721 INFO L290 TraceCheckUtils]: 29: Hoare triple {101866#(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; {101866#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:41:57,721 INFO L290 TraceCheckUtils]: 30: Hoare triple {101866#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {101866#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:41:57,721 INFO L290 TraceCheckUtils]: 31: Hoare triple {101866#(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; {101867#(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-27 11:41:57,722 INFO L290 TraceCheckUtils]: 32: Hoare triple {101867#(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; {101868#(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-27 11:41:57,722 INFO L290 TraceCheckUtils]: 33: Hoare triple {101868#(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; {101869#(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-27 11:41:57,722 INFO L290 TraceCheckUtils]: 34: Hoare triple {101869#(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; {101870#(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-27 11:41:57,723 INFO L290 TraceCheckUtils]: 35: Hoare triple {101870#(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; {101871#(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-27 11:41:57,723 INFO L290 TraceCheckUtils]: 36: Hoare triple {101871#(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; {101872#(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-27 11:41:57,724 INFO L290 TraceCheckUtils]: 37: Hoare triple {101872#(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; {101873#(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-27 11:41:57,724 INFO L290 TraceCheckUtils]: 38: Hoare triple {101873#(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; {101874#(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-27 11:41:57,724 INFO L290 TraceCheckUtils]: 39: Hoare triple {101874#(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; {101875#(and (<= (+ (* |student_version_#in~a| 8) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:41:57,725 INFO L290 TraceCheckUtils]: 40: Hoare triple {101875#(and (<= (+ (* |student_version_#in~a| 8) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:57,725 INFO L290 TraceCheckUtils]: 41: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:57,725 INFO L290 TraceCheckUtils]: 42: Hoare triple {101876#(<= (+ (* |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; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:57,725 INFO L290 TraceCheckUtils]: 43: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:57,725 INFO L290 TraceCheckUtils]: 44: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} #res := ~y~1; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:57,725 INFO L290 TraceCheckUtils]: 45: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume true; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:57,726 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} {101835#(<= main_~m~0 (* main_~a~0 8))} #113#return; {101813#false} is VALID [2022-04-27 11:41:57,726 INFO L290 TraceCheckUtils]: 47: Hoare triple {101813#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {101813#false} is VALID [2022-04-27 11:41:57,726 INFO L272 TraceCheckUtils]: 48: Hoare triple {101813#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {101813#false} is VALID [2022-04-27 11:41:57,726 INFO L290 TraceCheckUtils]: 49: Hoare triple {101813#false} ~cond := #in~cond; {101813#false} is VALID [2022-04-27 11:41:57,726 INFO L290 TraceCheckUtils]: 50: Hoare triple {101813#false} assume 0 == ~cond; {101813#false} is VALID [2022-04-27 11:41:57,726 INFO L290 TraceCheckUtils]: 51: Hoare triple {101813#false} assume !false; {101813#false} is VALID [2022-04-27 11:41:57,726 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-27 11:41:57,726 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:41:57,726 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1356715568] [2022-04-27 11:41:57,727 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1356715568] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:41:57,727 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [612884050] [2022-04-27 11:41:57,727 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:41:57,727 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:41:57,727 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:41:57,728 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-27 11:41:57,731 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-27 11:41:57,809 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2022-04-27 11:41:57,809 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:41:57,810 INFO L263 TraceCheckSpWp]: Trace formula consists of 253 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-27 11:41:57,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:41:57,820 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:41:58,714 INFO L272 TraceCheckUtils]: 0: Hoare triple {101812#true} call ULTIMATE.init(); {101812#true} is VALID [2022-04-27 11:41:58,714 INFO L290 TraceCheckUtils]: 1: Hoare triple {101812#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {101812#true} is VALID [2022-04-27 11:41:58,714 INFO L290 TraceCheckUtils]: 2: Hoare triple {101812#true} assume true; {101812#true} is VALID [2022-04-27 11:41:58,714 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {101812#true} {101812#true} #117#return; {101812#true} is VALID [2022-04-27 11:41:58,714 INFO L272 TraceCheckUtils]: 4: Hoare triple {101812#true} call #t~ret10 := main(); {101812#true} is VALID [2022-04-27 11:41:58,714 INFO L290 TraceCheckUtils]: 5: Hoare triple {101812#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {101812#true} is VALID [2022-04-27 11:41:58,714 INFO L290 TraceCheckUtils]: 6: Hoare triple {101812#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {101812#true} is VALID [2022-04-27 11:41:58,715 INFO L272 TraceCheckUtils]: 7: Hoare triple {101812#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {101812#true} is VALID [2022-04-27 11:41:58,715 INFO L290 TraceCheckUtils]: 8: Hoare triple {101812#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {101904#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:41:58,715 INFO L290 TraceCheckUtils]: 9: Hoare triple {101904#(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; {101904#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:41:58,715 INFO L290 TraceCheckUtils]: 10: Hoare triple {101904#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {101904#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:41:58,716 INFO L290 TraceCheckUtils]: 11: Hoare triple {101904#(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; {101914#(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-27 11:41:58,716 INFO L290 TraceCheckUtils]: 12: Hoare triple {101914#(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; {101918#(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-27 11:41:58,717 INFO L290 TraceCheckUtils]: 13: Hoare triple {101918#(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; {101922#(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-27 11:41:58,717 INFO L290 TraceCheckUtils]: 14: Hoare triple {101922#(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; {101926#(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-27 11:41:58,717 INFO L290 TraceCheckUtils]: 15: Hoare triple {101926#(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; {101930#(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-27 11:41:58,718 INFO L290 TraceCheckUtils]: 16: Hoare triple {101930#(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; {101934#(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-27 11:41:58,718 INFO L290 TraceCheckUtils]: 17: Hoare triple {101934#(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; {101938#(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-27 11:41:58,719 INFO L290 TraceCheckUtils]: 18: Hoare triple {101938#(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; {101942#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 8)) |correct_version_#in~a|))} is VALID [2022-04-27 11:41:58,719 INFO L290 TraceCheckUtils]: 19: Hoare triple {101942#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 8)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:58,719 INFO L290 TraceCheckUtils]: 20: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:58,719 INFO L290 TraceCheckUtils]: 21: Hoare triple {101865#(<= |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; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:58,720 INFO L290 TraceCheckUtils]: 22: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:58,720 INFO L290 TraceCheckUtils]: 23: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} #res := ~y~0; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:58,720 INFO L290 TraceCheckUtils]: 24: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume true; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:41:58,720 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} {101812#true} #111#return; {101835#(<= main_~m~0 (* main_~a~0 8))} is VALID [2022-04-27 11:41:58,721 INFO L290 TraceCheckUtils]: 26: Hoare triple {101835#(<= main_~m~0 (* main_~a~0 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {101835#(<= main_~m~0 (* main_~a~0 8))} is VALID [2022-04-27 11:41:58,721 INFO L272 TraceCheckUtils]: 27: Hoare triple {101835#(<= main_~m~0 (* main_~a~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {101812#true} is VALID [2022-04-27 11:41:58,721 INFO L290 TraceCheckUtils]: 28: Hoare triple {101812#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {101973#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:41:58,721 INFO L290 TraceCheckUtils]: 29: Hoare triple {101973#(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; {101973#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:41:58,721 INFO L290 TraceCheckUtils]: 30: Hoare triple {101973#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {101973#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:41:58,722 INFO L290 TraceCheckUtils]: 31: Hoare triple {101973#(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; {101983#(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-27 11:41:58,722 INFO L290 TraceCheckUtils]: 32: Hoare triple {101983#(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; {101987#(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-27 11:41:58,723 INFO L290 TraceCheckUtils]: 33: Hoare triple {101987#(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; {101991#(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-27 11:41:58,723 INFO L290 TraceCheckUtils]: 34: Hoare triple {101991#(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; {101995#(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-27 11:41:58,723 INFO L290 TraceCheckUtils]: 35: Hoare triple {101995#(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; {101999#(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-27 11:41:58,724 INFO L290 TraceCheckUtils]: 36: Hoare triple {101999#(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; {102003#(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-27 11:41:58,724 INFO L290 TraceCheckUtils]: 37: Hoare triple {102003#(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; {102007#(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-27 11:41:58,725 INFO L290 TraceCheckUtils]: 38: Hoare triple {102007#(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; {102011#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 8)))} is VALID [2022-04-27 11:41:58,725 INFO L290 TraceCheckUtils]: 39: Hoare triple {102011#(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; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:58,725 INFO L290 TraceCheckUtils]: 40: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:58,725 INFO L290 TraceCheckUtils]: 41: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:58,726 INFO L290 TraceCheckUtils]: 42: Hoare triple {101876#(<= (+ (* |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; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:58,726 INFO L290 TraceCheckUtils]: 43: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:58,726 INFO L290 TraceCheckUtils]: 44: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} #res := ~y~1; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:58,726 INFO L290 TraceCheckUtils]: 45: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume true; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:41:58,727 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} {101835#(<= main_~m~0 (* main_~a~0 8))} #113#return; {101813#false} is VALID [2022-04-27 11:41:58,727 INFO L290 TraceCheckUtils]: 47: Hoare triple {101813#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {101813#false} is VALID [2022-04-27 11:41:58,727 INFO L272 TraceCheckUtils]: 48: Hoare triple {101813#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {101813#false} is VALID [2022-04-27 11:41:58,727 INFO L290 TraceCheckUtils]: 49: Hoare triple {101813#false} ~cond := #in~cond; {101813#false} is VALID [2022-04-27 11:41:58,727 INFO L290 TraceCheckUtils]: 50: Hoare triple {101813#false} assume 0 == ~cond; {101813#false} is VALID [2022-04-27 11:41:58,727 INFO L290 TraceCheckUtils]: 51: Hoare triple {101813#false} assume !false; {101813#false} is VALID [2022-04-27 11:41:58,727 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-27 11:41:58,727 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:42:00,195 INFO L290 TraceCheckUtils]: 51: Hoare triple {101813#false} assume !false; {101813#false} is VALID [2022-04-27 11:42:00,195 INFO L290 TraceCheckUtils]: 50: Hoare triple {101813#false} assume 0 == ~cond; {101813#false} is VALID [2022-04-27 11:42:00,196 INFO L290 TraceCheckUtils]: 49: Hoare triple {101813#false} ~cond := #in~cond; {101813#false} is VALID [2022-04-27 11:42:00,196 INFO L272 TraceCheckUtils]: 48: Hoare triple {101813#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {101813#false} is VALID [2022-04-27 11:42:00,196 INFO L290 TraceCheckUtils]: 47: Hoare triple {101813#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {101813#false} is VALID [2022-04-27 11:42:00,196 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} {101835#(<= main_~m~0 (* main_~a~0 8))} #113#return; {101813#false} is VALID [2022-04-27 11:42:00,196 INFO L290 TraceCheckUtils]: 45: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume true; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:42:00,197 INFO L290 TraceCheckUtils]: 44: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} #res := ~y~1; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:42:00,197 INFO L290 TraceCheckUtils]: 43: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:42:00,197 INFO L290 TraceCheckUtils]: 42: Hoare triple {101876#(<= (+ (* |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; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:42:00,197 INFO L290 TraceCheckUtils]: 41: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:42:00,197 INFO L290 TraceCheckUtils]: 40: Hoare triple {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:42:00,198 INFO L290 TraceCheckUtils]: 39: Hoare triple {102090#(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; {101876#(<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:42:00,198 INFO L290 TraceCheckUtils]: 38: Hoare triple {102094#(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; {102090#(or (<= (+ (* |student_version_#in~a| 8) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-27 11:42:00,198 INFO L290 TraceCheckUtils]: 37: Hoare triple {102098#(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; {102094#(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-27 11:42:00,199 INFO L290 TraceCheckUtils]: 36: Hoare triple {102102#(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; {102098#(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-27 11:42:00,199 INFO L290 TraceCheckUtils]: 35: Hoare triple {102106#(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; {102102#(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-27 11:42:00,200 INFO L290 TraceCheckUtils]: 34: Hoare triple {102110#(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; {102106#(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-27 11:42:00,200 INFO L290 TraceCheckUtils]: 33: Hoare triple {102114#(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; {102110#(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-27 11:42:00,200 INFO L290 TraceCheckUtils]: 32: Hoare triple {102118#(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; {102114#(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-27 11:42:00,201 INFO L290 TraceCheckUtils]: 31: Hoare triple {102122#(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; {102118#(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-27 11:42:00,201 INFO L290 TraceCheckUtils]: 30: Hoare triple {102122#(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); {102122#(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-27 11:42:00,201 INFO L290 TraceCheckUtils]: 29: Hoare triple {102122#(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; {102122#(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-27 11:42:00,202 INFO L290 TraceCheckUtils]: 28: Hoare triple {101812#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {102122#(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-27 11:42:00,202 INFO L272 TraceCheckUtils]: 27: Hoare triple {101835#(<= main_~m~0 (* main_~a~0 8))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {101812#true} is VALID [2022-04-27 11:42:00,202 INFO L290 TraceCheckUtils]: 26: Hoare triple {101835#(<= main_~m~0 (* main_~a~0 8))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {101835#(<= main_~m~0 (* main_~a~0 8))} is VALID [2022-04-27 11:42:00,202 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} {101812#true} #111#return; {101835#(<= main_~m~0 (* main_~a~0 8))} is VALID [2022-04-27 11:42:00,202 INFO L290 TraceCheckUtils]: 24: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume true; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:42:00,203 INFO L290 TraceCheckUtils]: 23: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} #res := ~y~0; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:42:00,203 INFO L290 TraceCheckUtils]: 22: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:42:00,203 INFO L290 TraceCheckUtils]: 21: Hoare triple {101865#(<= |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; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:42:00,203 INFO L290 TraceCheckUtils]: 20: Hoare triple {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:42:00,204 INFO L290 TraceCheckUtils]: 19: Hoare triple {102159#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} assume !(~l~0 < ~m); {101865#(<= |correct_version_#in~m| (* 8 |correct_version_#in~a|))} is VALID [2022-04-27 11:42:00,204 INFO L290 TraceCheckUtils]: 18: Hoare triple {102163#(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; {102159#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< correct_version_~l~0 correct_version_~m))} is VALID [2022-04-27 11:42:00,204 INFO L290 TraceCheckUtils]: 17: Hoare triple {102167#(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; {102163#(or (<= |correct_version_#in~m| (* 8 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-27 11:42:00,205 INFO L290 TraceCheckUtils]: 16: Hoare triple {102171#(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; {102167#(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-27 11:42:00,205 INFO L290 TraceCheckUtils]: 15: Hoare triple {102175#(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; {102171#(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-27 11:42:00,206 INFO L290 TraceCheckUtils]: 14: Hoare triple {102179#(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; {102175#(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-27 11:42:00,206 INFO L290 TraceCheckUtils]: 13: Hoare triple {102183#(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; {102179#(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-27 11:42:00,206 INFO L290 TraceCheckUtils]: 12: Hoare triple {102187#(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; {102183#(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-27 11:42:00,207 INFO L290 TraceCheckUtils]: 11: Hoare triple {102191#(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; {102187#(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-27 11:42:00,207 INFO L290 TraceCheckUtils]: 10: Hoare triple {102191#(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); {102191#(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-27 11:42:00,207 INFO L290 TraceCheckUtils]: 9: Hoare triple {102191#(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; {102191#(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-27 11:42:00,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {101812#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {102191#(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-27 11:42:00,208 INFO L272 TraceCheckUtils]: 7: Hoare triple {101812#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {101812#true} is VALID [2022-04-27 11:42:00,208 INFO L290 TraceCheckUtils]: 6: Hoare triple {101812#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {101812#true} is VALID [2022-04-27 11:42:00,208 INFO L290 TraceCheckUtils]: 5: Hoare triple {101812#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {101812#true} is VALID [2022-04-27 11:42:00,208 INFO L272 TraceCheckUtils]: 4: Hoare triple {101812#true} call #t~ret10 := main(); {101812#true} is VALID [2022-04-27 11:42:00,208 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {101812#true} {101812#true} #117#return; {101812#true} is VALID [2022-04-27 11:42:00,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {101812#true} assume true; {101812#true} is VALID [2022-04-27 11:42:00,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {101812#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {101812#true} is VALID [2022-04-27 11:42:00,208 INFO L272 TraceCheckUtils]: 0: Hoare triple {101812#true} call ULTIMATE.init(); {101812#true} is VALID [2022-04-27 11:42:00,208 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-27 11:42:00,208 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [612884050] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:42:00,208 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:42:00,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 23, 23] total 61 [2022-04-27 11:42:00,209 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [210723120] [2022-04-27 11:42:00,209 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:42:00,209 INFO L78 Accepts]: Start accepts. Automaton has has 61 states, 61 states have (on average 1.540983606557377) internal successors, (94), 60 states have internal predecessors, (94), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 52 [2022-04-27 11:42:00,209 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:42:00,209 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 61 states, 61 states have (on average 1.540983606557377) internal successors, (94), 60 states have internal predecessors, (94), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:42:00,251 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-27 11:42:00,251 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 61 states [2022-04-27 11:42:00,252 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:42:00,252 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 61 interpolants. [2022-04-27 11:42:00,252 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=201, Invalid=3459, Unknown=0, NotChecked=0, Total=3660 [2022-04-27 11:42:00,252 INFO L87 Difference]: Start difference. First operand 552 states and 628 transitions. Second operand has 61 states, 61 states have (on average 1.540983606557377) internal successors, (94), 60 states have internal predecessors, (94), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:42:11,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:42:11,701 INFO L93 Difference]: Finished difference Result 642 states and 735 transitions. [2022-04-27 11:42:11,701 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2022-04-27 11:42:11,701 INFO L78 Accepts]: Start accepts. Automaton has has 61 states, 61 states have (on average 1.540983606557377) internal successors, (94), 60 states have internal predecessors, (94), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 52 [2022-04-27 11:42:11,701 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:42:11,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 61 states have (on average 1.540983606557377) internal successors, (94), 60 states have internal predecessors, (94), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:42:11,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 178 transitions. [2022-04-27 11:42:11,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 61 states have (on average 1.540983606557377) internal successors, (94), 60 states have internal predecessors, (94), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:42:11,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 178 transitions. [2022-04-27 11:42:11,704 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 39 states and 178 transitions. [2022-04-27 11:42:11,808 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-27 11:42:11,830 INFO L225 Difference]: With dead ends: 642 [2022-04-27 11:42:11,830 INFO L226 Difference]: Without dead ends: 628 [2022-04-27 11:42:11,846 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 167 GetRequests, 67 SyntacticMatches, 5 SemanticMatches, 95 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1307 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=640, Invalid=8672, Unknown=0, NotChecked=0, Total=9312 [2022-04-27 11:42:11,849 INFO L413 NwaCegarLoop]: 104 mSDtfsCounter, 1004 mSDsluCounter, 172 mSDsCounter, 0 mSdLazyCounter, 5045 mSolverCounterSat, 121 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1009 SdHoareTripleChecker+Valid, 276 SdHoareTripleChecker+Invalid, 5166 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 121 IncrementalHoareTripleChecker+Valid, 5045 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:42:11,849 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1009 Valid, 276 Invalid, 5166 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [121 Valid, 5045 Invalid, 0 Unknown, 0 Unchecked, 3.2s Time] [2022-04-27 11:42:11,850 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 628 states. [2022-04-27 11:42:14,849 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 628 to 619. [2022-04-27 11:42:14,849 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:42:14,850 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-27 11:42:14,850 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-27 11:42:14,851 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-27 11:42:14,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:42:14,865 INFO L93 Difference]: Finished difference Result 628 states and 716 transitions. [2022-04-27 11:42:14,865 INFO L276 IsEmpty]: Start isEmpty. Operand 628 states and 716 transitions. [2022-04-27 11:42:14,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:42:14,867 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:42:14,868 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-27 11:42:14,868 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-27 11:42:14,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:42:14,882 INFO L93 Difference]: Finished difference Result 628 states and 716 transitions. [2022-04-27 11:42:14,882 INFO L276 IsEmpty]: Start isEmpty. Operand 628 states and 716 transitions. [2022-04-27 11:42:14,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:42:14,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:42:14,885 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:42:14,885 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:42:14,885 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-27 11:42:14,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 619 states to 619 states and 706 transitions. [2022-04-27 11:42:14,903 INFO L78 Accepts]: Start accepts. Automaton has 619 states and 706 transitions. Word has length 52 [2022-04-27 11:42:14,903 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:42:14,903 INFO L495 AbstractCegarLoop]: Abstraction has 619 states and 706 transitions. [2022-04-27 11:42:14,903 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 61 states, 61 states have (on average 1.540983606557377) internal successors, (94), 60 states have internal predecessors, (94), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:42:14,903 INFO L276 IsEmpty]: Start isEmpty. Operand 619 states and 706 transitions. [2022-04-27 11:42:14,907 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-27 11:42:14,907 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:42:14,907 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:42:14,923 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-27 11:42:15,110 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 58 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable66 [2022-04-27 11:42:15,110 INFO L420 AbstractCegarLoop]: === Iteration 68 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:42:15,110 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:42:15,110 INFO L85 PathProgramCache]: Analyzing trace with hash 333057708, now seen corresponding path program 58 times [2022-04-27 11:42:15,110 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:42:15,110 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [608448339] [2022-04-27 11:42:15,110 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:42:15,110 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:42:15,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:15,143 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:42:15,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:15,145 INFO L290 TraceCheckUtils]: 0: Hoare triple {105412#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {105369#true} is VALID [2022-04-27 11:42:15,145 INFO L290 TraceCheckUtils]: 1: Hoare triple {105369#true} assume true; {105369#true} is VALID [2022-04-27 11:42:15,145 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {105369#true} {105369#true} #117#return; {105369#true} is VALID [2022-04-27 11:42:15,145 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:42:15,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:15,293 INFO L290 TraceCheckUtils]: 0: Hoare triple {105369#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {105413#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:42:15,293 INFO L290 TraceCheckUtils]: 1: Hoare triple {105413#(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; {105413#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:42:15,294 INFO L290 TraceCheckUtils]: 2: Hoare triple {105413#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {105413#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:42:15,294 INFO L290 TraceCheckUtils]: 3: Hoare triple {105413#(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; {105414#(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-27 11:42:15,295 INFO L290 TraceCheckUtils]: 4: Hoare triple {105414#(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; {105415#(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-27 11:42:15,295 INFO L290 TraceCheckUtils]: 5: Hoare triple {105415#(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; {105416#(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-27 11:42:15,296 INFO L290 TraceCheckUtils]: 6: Hoare triple {105416#(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; {105417#(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-27 11:42:15,296 INFO L290 TraceCheckUtils]: 7: Hoare triple {105417#(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; {105418#(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-27 11:42:15,297 INFO L290 TraceCheckUtils]: 8: Hoare triple {105418#(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; {105419#(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-27 11:42:15,297 INFO L290 TraceCheckUtils]: 9: Hoare triple {105419#(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; {105420#(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-27 11:42:15,298 INFO L290 TraceCheckUtils]: 10: Hoare triple {105420#(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; {105421#(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-27 11:42:15,298 INFO L290 TraceCheckUtils]: 11: Hoare triple {105421#(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; {105422#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 8 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-27 11:42:15,299 INFO L290 TraceCheckUtils]: 12: Hoare triple {105422#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 8 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:15,299 INFO L290 TraceCheckUtils]: 13: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:15,299 INFO L290 TraceCheckUtils]: 14: Hoare triple {105423#(<= (+ (* 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; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:15,300 INFO L290 TraceCheckUtils]: 15: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:15,300 INFO L290 TraceCheckUtils]: 16: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:15,300 INFO L290 TraceCheckUtils]: 17: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:15,301 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {105369#true} #111#return; {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} is VALID [2022-04-27 11:42:15,301 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-27 11:42:15,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:15,513 INFO L290 TraceCheckUtils]: 0: Hoare triple {105369#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {105424#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:42:15,514 INFO L290 TraceCheckUtils]: 1: Hoare triple {105424#(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; {105424#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:42:15,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {105424#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {105424#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:42:15,514 INFO L290 TraceCheckUtils]: 3: Hoare triple {105424#(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; {105425#(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-27 11:42:15,515 INFO L290 TraceCheckUtils]: 4: Hoare triple {105425#(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; {105426#(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-27 11:42:15,515 INFO L290 TraceCheckUtils]: 5: Hoare triple {105426#(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; {105427#(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-27 11:42:15,516 INFO L290 TraceCheckUtils]: 6: Hoare triple {105427#(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; {105428#(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-27 11:42:15,516 INFO L290 TraceCheckUtils]: 7: Hoare triple {105428#(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; {105429#(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-27 11:42:15,516 INFO L290 TraceCheckUtils]: 8: Hoare triple {105429#(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; {105430#(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-27 11:42:15,517 INFO L290 TraceCheckUtils]: 9: Hoare triple {105430#(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; {105431#(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-27 11:42:15,517 INFO L290 TraceCheckUtils]: 10: Hoare triple {105431#(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; {105432#(and (<= student_version_~l~1 (* |student_version_#in~a| 8)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:42:15,517 INFO L290 TraceCheckUtils]: 11: Hoare triple {105432#(and (<= student_version_~l~1 (* |student_version_#in~a| 8)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:15,518 INFO L290 TraceCheckUtils]: 12: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} ~x~1 := 0;~y~1 := 0; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:15,518 INFO L290 TraceCheckUtils]: 13: Hoare triple {105433#(<= |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; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:15,518 INFO L290 TraceCheckUtils]: 14: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume !(~x~1 < ~i~1); {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:15,518 INFO L290 TraceCheckUtils]: 15: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} #res := ~y~1; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:15,518 INFO L290 TraceCheckUtils]: 16: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume true; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:15,519 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} #113#return; {105370#false} is VALID [2022-04-27 11:42:15,519 INFO L272 TraceCheckUtils]: 0: Hoare triple {105369#true} call ULTIMATE.init(); {105412#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:42:15,519 INFO L290 TraceCheckUtils]: 1: Hoare triple {105412#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {105369#true} is VALID [2022-04-27 11:42:15,519 INFO L290 TraceCheckUtils]: 2: Hoare triple {105369#true} assume true; {105369#true} is VALID [2022-04-27 11:42:15,519 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105369#true} {105369#true} #117#return; {105369#true} is VALID [2022-04-27 11:42:15,519 INFO L272 TraceCheckUtils]: 4: Hoare triple {105369#true} call #t~ret10 := main(); {105369#true} is VALID [2022-04-27 11:42:15,519 INFO L290 TraceCheckUtils]: 5: Hoare triple {105369#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {105369#true} is VALID [2022-04-27 11:42:15,519 INFO L290 TraceCheckUtils]: 6: Hoare triple {105369#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {105369#true} is VALID [2022-04-27 11:42:15,519 INFO L272 TraceCheckUtils]: 7: Hoare triple {105369#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {105369#true} is VALID [2022-04-27 11:42:15,520 INFO L290 TraceCheckUtils]: 8: Hoare triple {105369#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {105413#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:42:15,520 INFO L290 TraceCheckUtils]: 9: Hoare triple {105413#(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; {105413#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:42:15,520 INFO L290 TraceCheckUtils]: 10: Hoare triple {105413#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {105413#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:42:15,521 INFO L290 TraceCheckUtils]: 11: Hoare triple {105413#(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; {105414#(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-27 11:42:15,521 INFO L290 TraceCheckUtils]: 12: Hoare triple {105414#(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; {105415#(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-27 11:42:15,521 INFO L290 TraceCheckUtils]: 13: Hoare triple {105415#(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; {105416#(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-27 11:42:15,522 INFO L290 TraceCheckUtils]: 14: Hoare triple {105416#(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; {105417#(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-27 11:42:15,522 INFO L290 TraceCheckUtils]: 15: Hoare triple {105417#(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; {105418#(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-27 11:42:15,523 INFO L290 TraceCheckUtils]: 16: Hoare triple {105418#(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; {105419#(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-27 11:42:15,523 INFO L290 TraceCheckUtils]: 17: Hoare triple {105419#(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; {105420#(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-27 11:42:15,523 INFO L290 TraceCheckUtils]: 18: Hoare triple {105420#(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; {105421#(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-27 11:42:15,524 INFO L290 TraceCheckUtils]: 19: Hoare triple {105421#(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; {105422#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 8 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-27 11:42:15,524 INFO L290 TraceCheckUtils]: 20: Hoare triple {105422#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 8 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:15,524 INFO L290 TraceCheckUtils]: 21: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:15,524 INFO L290 TraceCheckUtils]: 22: Hoare triple {105423#(<= (+ (* 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; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:15,525 INFO L290 TraceCheckUtils]: 23: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:15,525 INFO L290 TraceCheckUtils]: 24: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:15,525 INFO L290 TraceCheckUtils]: 25: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:15,525 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {105369#true} #111#return; {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} is VALID [2022-04-27 11:42:15,526 INFO L290 TraceCheckUtils]: 27: Hoare triple {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} is VALID [2022-04-27 11:42:15,526 INFO L272 TraceCheckUtils]: 28: Hoare triple {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {105369#true} is VALID [2022-04-27 11:42:15,526 INFO L290 TraceCheckUtils]: 29: Hoare triple {105369#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {105424#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:42:15,526 INFO L290 TraceCheckUtils]: 30: Hoare triple {105424#(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; {105424#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:42:15,526 INFO L290 TraceCheckUtils]: 31: Hoare triple {105424#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {105424#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:42:15,527 INFO L290 TraceCheckUtils]: 32: Hoare triple {105424#(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; {105425#(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-27 11:42:15,527 INFO L290 TraceCheckUtils]: 33: Hoare triple {105425#(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; {105426#(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-27 11:42:15,528 INFO L290 TraceCheckUtils]: 34: Hoare triple {105426#(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; {105427#(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-27 11:42:15,528 INFO L290 TraceCheckUtils]: 35: Hoare triple {105427#(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; {105428#(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-27 11:42:15,528 INFO L290 TraceCheckUtils]: 36: Hoare triple {105428#(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; {105429#(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-27 11:42:15,529 INFO L290 TraceCheckUtils]: 37: Hoare triple {105429#(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; {105430#(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-27 11:42:15,529 INFO L290 TraceCheckUtils]: 38: Hoare triple {105430#(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; {105431#(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-27 11:42:15,530 INFO L290 TraceCheckUtils]: 39: Hoare triple {105431#(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; {105432#(and (<= student_version_~l~1 (* |student_version_#in~a| 8)) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:42:15,530 INFO L290 TraceCheckUtils]: 40: Hoare triple {105432#(and (<= student_version_~l~1 (* |student_version_#in~a| 8)) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:15,530 INFO L290 TraceCheckUtils]: 41: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} ~x~1 := 0;~y~1 := 0; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:15,530 INFO L290 TraceCheckUtils]: 42: Hoare triple {105433#(<= |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; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:15,530 INFO L290 TraceCheckUtils]: 43: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume !(~x~1 < ~i~1); {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:15,530 INFO L290 TraceCheckUtils]: 44: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} #res := ~y~1; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:15,531 INFO L290 TraceCheckUtils]: 45: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume true; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:15,531 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} #113#return; {105370#false} is VALID [2022-04-27 11:42:15,531 INFO L290 TraceCheckUtils]: 47: Hoare triple {105370#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {105370#false} is VALID [2022-04-27 11:42:15,531 INFO L272 TraceCheckUtils]: 48: Hoare triple {105370#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {105370#false} is VALID [2022-04-27 11:42:15,531 INFO L290 TraceCheckUtils]: 49: Hoare triple {105370#false} ~cond := #in~cond; {105370#false} is VALID [2022-04-27 11:42:15,531 INFO L290 TraceCheckUtils]: 50: Hoare triple {105370#false} assume 0 == ~cond; {105370#false} is VALID [2022-04-27 11:42:15,531 INFO L290 TraceCheckUtils]: 51: Hoare triple {105370#false} assume !false; {105370#false} is VALID [2022-04-27 11:42:15,532 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-27 11:42:15,532 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:42:15,532 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [608448339] [2022-04-27 11:42:15,532 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [608448339] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:42:15,532 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1377883610] [2022-04-27 11:42:15,532 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 11:42:15,532 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:42:15,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:42:15,533 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-27 11:42:15,534 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-27 11:42:15,610 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 11:42:15,610 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:42:15,611 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-27 11:42:15,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:15,621 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:42:16,588 INFO L272 TraceCheckUtils]: 0: Hoare triple {105369#true} call ULTIMATE.init(); {105369#true} is VALID [2022-04-27 11:42:16,588 INFO L290 TraceCheckUtils]: 1: Hoare triple {105369#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {105369#true} is VALID [2022-04-27 11:42:16,588 INFO L290 TraceCheckUtils]: 2: Hoare triple {105369#true} assume true; {105369#true} is VALID [2022-04-27 11:42:16,588 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105369#true} {105369#true} #117#return; {105369#true} is VALID [2022-04-27 11:42:16,588 INFO L272 TraceCheckUtils]: 4: Hoare triple {105369#true} call #t~ret10 := main(); {105369#true} is VALID [2022-04-27 11:42:16,588 INFO L290 TraceCheckUtils]: 5: Hoare triple {105369#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {105369#true} is VALID [2022-04-27 11:42:16,589 INFO L290 TraceCheckUtils]: 6: Hoare triple {105369#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {105369#true} is VALID [2022-04-27 11:42:16,589 INFO L272 TraceCheckUtils]: 7: Hoare triple {105369#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {105369#true} is VALID [2022-04-27 11:42:16,589 INFO L290 TraceCheckUtils]: 8: Hoare triple {105369#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {105461#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:42:16,589 INFO L290 TraceCheckUtils]: 9: Hoare triple {105461#(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; {105461#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:42:16,589 INFO L290 TraceCheckUtils]: 10: Hoare triple {105461#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {105461#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:42:16,590 INFO L290 TraceCheckUtils]: 11: Hoare triple {105461#(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; {105471#(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-27 11:42:16,590 INFO L290 TraceCheckUtils]: 12: Hoare triple {105471#(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; {105475#(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-27 11:42:16,591 INFO L290 TraceCheckUtils]: 13: Hoare triple {105475#(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; {105479#(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-27 11:42:16,591 INFO L290 TraceCheckUtils]: 14: Hoare triple {105479#(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; {105483#(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-27 11:42:16,591 INFO L290 TraceCheckUtils]: 15: Hoare triple {105483#(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; {105487#(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-27 11:42:16,592 INFO L290 TraceCheckUtils]: 16: Hoare triple {105487#(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; {105491#(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-27 11:42:16,592 INFO L290 TraceCheckUtils]: 17: Hoare triple {105491#(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; {105495#(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-27 11:42:16,593 INFO L290 TraceCheckUtils]: 18: Hoare triple {105495#(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; {105499#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 8)))} is VALID [2022-04-27 11:42:16,593 INFO L290 TraceCheckUtils]: 19: Hoare triple {105499#(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; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:16,593 INFO L290 TraceCheckUtils]: 20: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:16,594 INFO L290 TraceCheckUtils]: 21: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:16,594 INFO L290 TraceCheckUtils]: 22: Hoare triple {105423#(<= (+ (* 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; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:16,594 INFO L290 TraceCheckUtils]: 23: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:16,594 INFO L290 TraceCheckUtils]: 24: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:16,594 INFO L290 TraceCheckUtils]: 25: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:16,595 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {105369#true} #111#return; {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} is VALID [2022-04-27 11:42:16,595 INFO L290 TraceCheckUtils]: 27: Hoare triple {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} is VALID [2022-04-27 11:42:16,595 INFO L272 TraceCheckUtils]: 28: Hoare triple {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {105369#true} is VALID [2022-04-27 11:42:16,595 INFO L290 TraceCheckUtils]: 29: Hoare triple {105369#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {105533#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:42:16,596 INFO L290 TraceCheckUtils]: 30: Hoare triple {105533#(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; {105533#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:42:16,596 INFO L290 TraceCheckUtils]: 31: Hoare triple {105533#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {105533#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:42:16,596 INFO L290 TraceCheckUtils]: 32: Hoare triple {105533#(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; {105543#(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-27 11:42:16,597 INFO L290 TraceCheckUtils]: 33: Hoare triple {105543#(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; {105547#(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-27 11:42:16,597 INFO L290 TraceCheckUtils]: 34: Hoare triple {105547#(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; {105551#(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-27 11:42:16,598 INFO L290 TraceCheckUtils]: 35: Hoare triple {105551#(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; {105555#(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-27 11:42:16,598 INFO L290 TraceCheckUtils]: 36: Hoare triple {105555#(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; {105559#(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-27 11:42:16,598 INFO L290 TraceCheckUtils]: 37: Hoare triple {105559#(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; {105563#(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-27 11:42:16,599 INFO L290 TraceCheckUtils]: 38: Hoare triple {105563#(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; {105567#(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-27 11:42:16,599 INFO L290 TraceCheckUtils]: 39: Hoare triple {105567#(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; {105571#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 8)) |student_version_#in~a|))} is VALID [2022-04-27 11:42:16,600 INFO L290 TraceCheckUtils]: 40: Hoare triple {105571#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 8)) |student_version_#in~a|))} assume !(~l~1 < ~m); {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:16,600 INFO L290 TraceCheckUtils]: 41: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} ~x~1 := 0;~y~1 := 0; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:16,600 INFO L290 TraceCheckUtils]: 42: Hoare triple {105433#(<= |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; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:16,600 INFO L290 TraceCheckUtils]: 43: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume !(~x~1 < ~i~1); {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:16,600 INFO L290 TraceCheckUtils]: 44: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} #res := ~y~1; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:16,601 INFO L290 TraceCheckUtils]: 45: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume true; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:16,601 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} #113#return; {105370#false} is VALID [2022-04-27 11:42:16,601 INFO L290 TraceCheckUtils]: 47: Hoare triple {105370#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {105370#false} is VALID [2022-04-27 11:42:16,601 INFO L272 TraceCheckUtils]: 48: Hoare triple {105370#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {105370#false} is VALID [2022-04-27 11:42:16,601 INFO L290 TraceCheckUtils]: 49: Hoare triple {105370#false} ~cond := #in~cond; {105370#false} is VALID [2022-04-27 11:42:16,601 INFO L290 TraceCheckUtils]: 50: Hoare triple {105370#false} assume 0 == ~cond; {105370#false} is VALID [2022-04-27 11:42:16,601 INFO L290 TraceCheckUtils]: 51: Hoare triple {105370#false} assume !false; {105370#false} is VALID [2022-04-27 11:42:16,601 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-27 11:42:16,602 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:42:18,535 INFO L290 TraceCheckUtils]: 51: Hoare triple {105370#false} assume !false; {105370#false} is VALID [2022-04-27 11:42:18,535 INFO L290 TraceCheckUtils]: 50: Hoare triple {105370#false} assume 0 == ~cond; {105370#false} is VALID [2022-04-27 11:42:18,535 INFO L290 TraceCheckUtils]: 49: Hoare triple {105370#false} ~cond := #in~cond; {105370#false} is VALID [2022-04-27 11:42:18,535 INFO L272 TraceCheckUtils]: 48: Hoare triple {105370#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {105370#false} is VALID [2022-04-27 11:42:18,535 INFO L290 TraceCheckUtils]: 47: Hoare triple {105370#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {105370#false} is VALID [2022-04-27 11:42:18,536 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} #113#return; {105370#false} is VALID [2022-04-27 11:42:18,536 INFO L290 TraceCheckUtils]: 45: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume true; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:18,536 INFO L290 TraceCheckUtils]: 44: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} #res := ~y~1; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:18,536 INFO L290 TraceCheckUtils]: 43: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} assume !(~x~1 < ~i~1); {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:18,537 INFO L290 TraceCheckUtils]: 42: Hoare triple {105433#(<= |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; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:18,537 INFO L290 TraceCheckUtils]: 41: Hoare triple {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} ~x~1 := 0;~y~1 := 0; {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:18,537 INFO L290 TraceCheckUtils]: 40: Hoare triple {105644#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {105433#(<= |student_version_#in~m| (* |student_version_#in~a| 8))} is VALID [2022-04-27 11:42:18,538 INFO L290 TraceCheckUtils]: 39: Hoare triple {105648#(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; {105644#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-27 11:42:18,538 INFO L290 TraceCheckUtils]: 38: Hoare triple {105652#(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; {105648#(or (<= |student_version_#in~m| (* |student_version_#in~a| 8)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} is VALID [2022-04-27 11:42:18,539 INFO L290 TraceCheckUtils]: 37: Hoare triple {105656#(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; {105652#(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-27 11:42:18,539 INFO L290 TraceCheckUtils]: 36: Hoare triple {105660#(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; {105656#(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-27 11:42:18,540 INFO L290 TraceCheckUtils]: 35: Hoare triple {105664#(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; {105660#(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-27 11:42:18,541 INFO L290 TraceCheckUtils]: 34: Hoare triple {105668#(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; {105664#(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-27 11:42:18,541 INFO L290 TraceCheckUtils]: 33: Hoare triple {105672#(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; {105668#(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-27 11:42:18,542 INFO L290 TraceCheckUtils]: 32: Hoare triple {105676#(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; {105672#(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-27 11:42:18,542 INFO L290 TraceCheckUtils]: 31: Hoare triple {105676#(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); {105676#(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-27 11:42:18,542 INFO L290 TraceCheckUtils]: 30: Hoare triple {105676#(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; {105676#(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-27 11:42:18,543 INFO L290 TraceCheckUtils]: 29: Hoare triple {105369#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {105676#(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-27 11:42:18,543 INFO L272 TraceCheckUtils]: 28: Hoare triple {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {105369#true} is VALID [2022-04-27 11:42:18,543 INFO L290 TraceCheckUtils]: 27: Hoare triple {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} is VALID [2022-04-27 11:42:18,544 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {105369#true} #111#return; {105393#(<= (+ (* main_~a~0 8) 1) main_~m~0)} is VALID [2022-04-27 11:42:18,544 INFO L290 TraceCheckUtils]: 25: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:18,544 INFO L290 TraceCheckUtils]: 24: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:18,545 INFO L290 TraceCheckUtils]: 23: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:18,545 INFO L290 TraceCheckUtils]: 22: Hoare triple {105423#(<= (+ (* 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; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:18,545 INFO L290 TraceCheckUtils]: 21: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:18,545 INFO L290 TraceCheckUtils]: 20: Hoare triple {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:18,546 INFO L290 TraceCheckUtils]: 19: Hoare triple {105716#(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; {105423#(<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:42:18,546 INFO L290 TraceCheckUtils]: 18: Hoare triple {105720#(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; {105716#(or (<= (+ (* 8 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-27 11:42:18,547 INFO L290 TraceCheckUtils]: 17: Hoare triple {105724#(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; {105720#(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-27 11:42:18,548 INFO L290 TraceCheckUtils]: 16: Hoare triple {105728#(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; {105724#(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-27 11:42:18,548 INFO L290 TraceCheckUtils]: 15: Hoare triple {105732#(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; {105728#(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-27 11:42:18,549 INFO L290 TraceCheckUtils]: 14: Hoare triple {105736#(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; {105732#(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-27 11:42:18,549 INFO L290 TraceCheckUtils]: 13: Hoare triple {105740#(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; {105736#(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-27 11:42:18,550 INFO L290 TraceCheckUtils]: 12: Hoare triple {105744#(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; {105740#(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-27 11:42:18,550 INFO L290 TraceCheckUtils]: 11: Hoare triple {105748#(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; {105744#(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-27 11:42:18,551 INFO L290 TraceCheckUtils]: 10: Hoare triple {105748#(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); {105748#(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-27 11:42:18,551 INFO L290 TraceCheckUtils]: 9: Hoare triple {105748#(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; {105748#(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-27 11:42:18,551 INFO L290 TraceCheckUtils]: 8: Hoare triple {105369#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {105748#(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-27 11:42:18,551 INFO L272 TraceCheckUtils]: 7: Hoare triple {105369#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {105369#true} is VALID [2022-04-27 11:42:18,552 INFO L290 TraceCheckUtils]: 6: Hoare triple {105369#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {105369#true} is VALID [2022-04-27 11:42:18,552 INFO L290 TraceCheckUtils]: 5: Hoare triple {105369#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {105369#true} is VALID [2022-04-27 11:42:18,552 INFO L272 TraceCheckUtils]: 4: Hoare triple {105369#true} call #t~ret10 := main(); {105369#true} is VALID [2022-04-27 11:42:18,552 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105369#true} {105369#true} #117#return; {105369#true} is VALID [2022-04-27 11:42:18,552 INFO L290 TraceCheckUtils]: 2: Hoare triple {105369#true} assume true; {105369#true} is VALID [2022-04-27 11:42:18,552 INFO L290 TraceCheckUtils]: 1: Hoare triple {105369#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {105369#true} is VALID [2022-04-27 11:42:18,552 INFO L272 TraceCheckUtils]: 0: Hoare triple {105369#true} call ULTIMATE.init(); {105369#true} is VALID [2022-04-27 11:42:18,552 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-27 11:42:18,552 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1377883610] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:42:18,552 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:42:18,552 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 23, 23] total 61 [2022-04-27 11:42:18,552 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1659442231] [2022-04-27 11:42:18,553 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:42:18,553 INFO L78 Accepts]: Start accepts. Automaton has has 61 states, 61 states have (on average 1.540983606557377) internal successors, (94), 60 states have internal predecessors, (94), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 52 [2022-04-27 11:42:18,553 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:42:18,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 61 states, 61 states have (on average 1.540983606557377) internal successors, (94), 60 states have internal predecessors, (94), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:42:18,622 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-27 11:42:18,622 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 61 states [2022-04-27 11:42:18,622 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:42:18,622 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 61 interpolants. [2022-04-27 11:42:18,623 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=201, Invalid=3459, Unknown=0, NotChecked=0, Total=3660 [2022-04-27 11:42:18,623 INFO L87 Difference]: Start difference. First operand 619 states and 706 transitions. Second operand has 61 states, 61 states have (on average 1.540983606557377) internal successors, (94), 60 states have internal predecessors, (94), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:42:30,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:42:30,906 INFO L93 Difference]: Finished difference Result 634 states and 721 transitions. [2022-04-27 11:42:30,906 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2022-04-27 11:42:30,906 INFO L78 Accepts]: Start accepts. Automaton has has 61 states, 61 states have (on average 1.540983606557377) internal successors, (94), 60 states have internal predecessors, (94), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 52 [2022-04-27 11:42:30,906 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:42:30,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 61 states have (on average 1.540983606557377) internal successors, (94), 60 states have internal predecessors, (94), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:42:30,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 177 transitions. [2022-04-27 11:42:30,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 61 states have (on average 1.540983606557377) internal successors, (94), 60 states have internal predecessors, (94), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:42:30,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 177 transitions. [2022-04-27 11:42:30,909 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 39 states and 177 transitions. [2022-04-27 11:42:31,013 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-27 11:42:31,033 INFO L225 Difference]: With dead ends: 634 [2022-04-27 11:42:31,033 INFO L226 Difference]: Without dead ends: 622 [2022-04-27 11:42:31,036 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 167 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 95 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1319 ImplicationChecksByTransitivity, 2.5s TimeCoverageRelationStatistics Valid=640, Invalid=8672, Unknown=0, NotChecked=0, Total=9312 [2022-04-27 11:42:31,037 INFO L413 NwaCegarLoop]: 108 mSDtfsCounter, 1020 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 5330 mSolverCounterSat, 105 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1037 SdHoareTripleChecker+Valid, 290 SdHoareTripleChecker+Invalid, 5435 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 105 IncrementalHoareTripleChecker+Valid, 5330 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.5s IncrementalHoareTripleChecker+Time [2022-04-27 11:42:31,037 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1037 Valid, 290 Invalid, 5435 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [105 Valid, 5330 Invalid, 0 Unknown, 0 Unchecked, 3.5s Time] [2022-04-27 11:42:31,037 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 622 states. [2022-04-27 11:42:34,253 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 622 to 620. [2022-04-27 11:42:34,253 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:42:34,254 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-27 11:42:34,254 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-27 11:42:34,255 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-27 11:42:34,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:42:34,269 INFO L93 Difference]: Finished difference Result 622 states and 705 transitions. [2022-04-27 11:42:34,269 INFO L276 IsEmpty]: Start isEmpty. Operand 622 states and 705 transitions. [2022-04-27 11:42:34,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:42:34,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:42:34,272 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-27 11:42:34,272 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-27 11:42:34,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:42:34,286 INFO L93 Difference]: Finished difference Result 622 states and 705 transitions. [2022-04-27 11:42:34,286 INFO L276 IsEmpty]: Start isEmpty. Operand 622 states and 705 transitions. [2022-04-27 11:42:34,288 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:42:34,288 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:42:34,288 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:42:34,288 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:42:34,289 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-27 11:42:34,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 620 states to 620 states and 703 transitions. [2022-04-27 11:42:34,314 INFO L78 Accepts]: Start accepts. Automaton has 620 states and 703 transitions. Word has length 52 [2022-04-27 11:42:34,314 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:42:34,314 INFO L495 AbstractCegarLoop]: Abstraction has 620 states and 703 transitions. [2022-04-27 11:42:34,315 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 61 states, 61 states have (on average 1.540983606557377) internal successors, (94), 60 states have internal predecessors, (94), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:42:34,315 INFO L276 IsEmpty]: Start isEmpty. Operand 620 states and 703 transitions. [2022-04-27 11:42:34,318 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-27 11:42:34,318 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:42:34,318 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:42:34,334 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-27 11:42:34,531 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 59 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable67 [2022-04-27 11:42:34,531 INFO L420 AbstractCegarLoop]: === Iteration 69 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:42:34,531 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:42:34,532 INFO L85 PathProgramCache]: Analyzing trace with hash -765588306, now seen corresponding path program 59 times [2022-04-27 11:42:34,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:42:34,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [74967308] [2022-04-27 11:42:34,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:42:34,532 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:42:34,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:34,549 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:42:34,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:34,550 INFO L290 TraceCheckUtils]: 0: Hoare triple {108946#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {108904#true} is VALID [2022-04-27 11:42:34,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {108904#true} assume true; {108904#true} is VALID [2022-04-27 11:42:34,551 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {108904#true} {108904#true} #117#return; {108904#true} is VALID [2022-04-27 11:42:34,551 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:42:34,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:34,598 INFO L290 TraceCheckUtils]: 0: Hoare triple {108904#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {108947#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,598 INFO L290 TraceCheckUtils]: 1: Hoare triple {108947#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108948#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,599 INFO L290 TraceCheckUtils]: 2: Hoare triple {108948#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108949#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,599 INFO L290 TraceCheckUtils]: 3: Hoare triple {108949#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108950#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,599 INFO L290 TraceCheckUtils]: 4: Hoare triple {108950#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108951#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,599 INFO L290 TraceCheckUtils]: 5: Hoare triple {108951#(<= 4 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,600 INFO L290 TraceCheckUtils]: 6: Hoare triple {108952#(<= 5 correct_version_~i~0)} assume !(~b~0 < ~n); {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,600 INFO L290 TraceCheckUtils]: 7: Hoare triple {108952#(<= 5 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,600 INFO L290 TraceCheckUtils]: 8: Hoare triple {108952#(<= 5 correct_version_~i~0)} assume !(~l~0 < ~m); {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,600 INFO L290 TraceCheckUtils]: 9: Hoare triple {108952#(<= 5 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {108953#(<= (+ correct_version_~x~0 5) correct_version_~i~0)} is VALID [2022-04-27 11:42:34,601 INFO L290 TraceCheckUtils]: 10: Hoare triple {108953#(<= (+ 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; {108954#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} is VALID [2022-04-27 11:42:34,601 INFO L290 TraceCheckUtils]: 11: Hoare triple {108954#(<= (+ 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; {108955#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-27 11:42:34,601 INFO L290 TraceCheckUtils]: 12: Hoare triple {108955#(<= (+ 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; {108956#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-27 11:42:34,602 INFO L290 TraceCheckUtils]: 13: Hoare triple {108956#(<= (+ 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; {108957#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:42:34,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {108957#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {108905#false} is VALID [2022-04-27 11:42:34,602 INFO L290 TraceCheckUtils]: 15: Hoare triple {108905#false} #res := ~y~0; {108905#false} is VALID [2022-04-27 11:42:34,602 INFO L290 TraceCheckUtils]: 16: Hoare triple {108905#false} assume true; {108905#false} is VALID [2022-04-27 11:42:34,602 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {108905#false} {108904#true} #111#return; {108905#false} is VALID [2022-04-27 11:42:34,602 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-27 11:42:34,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:34,607 INFO L290 TraceCheckUtils]: 0: Hoare triple {108904#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {108904#true} is VALID [2022-04-27 11:42:34,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {108904#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108904#true} is VALID [2022-04-27 11:42:34,607 INFO L290 TraceCheckUtils]: 2: Hoare triple {108904#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L290 TraceCheckUtils]: 3: Hoare triple {108904#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L290 TraceCheckUtils]: 4: Hoare triple {108904#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L290 TraceCheckUtils]: 5: Hoare triple {108904#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L290 TraceCheckUtils]: 6: Hoare triple {108904#true} assume !(~b~1 < ~n); {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L290 TraceCheckUtils]: 7: Hoare triple {108904#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L290 TraceCheckUtils]: 8: Hoare triple {108904#true} assume !(~l~1 < ~m); {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L290 TraceCheckUtils]: 9: Hoare triple {108904#true} ~x~1 := 0;~y~1 := 0; {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L290 TraceCheckUtils]: 10: Hoare triple {108904#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L290 TraceCheckUtils]: 11: Hoare triple {108904#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L290 TraceCheckUtils]: 12: Hoare triple {108904#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L290 TraceCheckUtils]: 13: Hoare triple {108904#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L290 TraceCheckUtils]: 14: Hoare triple {108904#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L290 TraceCheckUtils]: 15: Hoare triple {108904#true} assume !(~x~1 < ~i~1); {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L290 TraceCheckUtils]: 16: Hoare triple {108904#true} #res := ~y~1; {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L290 TraceCheckUtils]: 17: Hoare triple {108904#true} assume true; {108904#true} is VALID [2022-04-27 11:42:34,608 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {108904#true} {108905#false} #113#return; {108905#false} is VALID [2022-04-27 11:42:34,609 INFO L272 TraceCheckUtils]: 0: Hoare triple {108904#true} call ULTIMATE.init(); {108946#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:42:34,609 INFO L290 TraceCheckUtils]: 1: Hoare triple {108946#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {108904#true} is VALID [2022-04-27 11:42:34,609 INFO L290 TraceCheckUtils]: 2: Hoare triple {108904#true} assume true; {108904#true} is VALID [2022-04-27 11:42:34,609 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {108904#true} {108904#true} #117#return; {108904#true} is VALID [2022-04-27 11:42:34,609 INFO L272 TraceCheckUtils]: 4: Hoare triple {108904#true} call #t~ret10 := main(); {108904#true} is VALID [2022-04-27 11:42:34,609 INFO L290 TraceCheckUtils]: 5: Hoare triple {108904#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {108904#true} is VALID [2022-04-27 11:42:34,609 INFO L290 TraceCheckUtils]: 6: Hoare triple {108904#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {108904#true} is VALID [2022-04-27 11:42:34,609 INFO L272 TraceCheckUtils]: 7: Hoare triple {108904#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {108904#true} is VALID [2022-04-27 11:42:34,609 INFO L290 TraceCheckUtils]: 8: Hoare triple {108904#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {108947#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,610 INFO L290 TraceCheckUtils]: 9: Hoare triple {108947#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108948#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,610 INFO L290 TraceCheckUtils]: 10: Hoare triple {108948#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108949#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,610 INFO L290 TraceCheckUtils]: 11: Hoare triple {108949#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108950#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,610 INFO L290 TraceCheckUtils]: 12: Hoare triple {108950#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108951#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,611 INFO L290 TraceCheckUtils]: 13: Hoare triple {108951#(<= 4 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,611 INFO L290 TraceCheckUtils]: 14: Hoare triple {108952#(<= 5 correct_version_~i~0)} assume !(~b~0 < ~n); {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,611 INFO L290 TraceCheckUtils]: 15: Hoare triple {108952#(<= 5 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,611 INFO L290 TraceCheckUtils]: 16: Hoare triple {108952#(<= 5 correct_version_~i~0)} assume !(~l~0 < ~m); {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,612 INFO L290 TraceCheckUtils]: 17: Hoare triple {108952#(<= 5 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {108953#(<= (+ correct_version_~x~0 5) correct_version_~i~0)} is VALID [2022-04-27 11:42:34,612 INFO L290 TraceCheckUtils]: 18: Hoare triple {108953#(<= (+ 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; {108954#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} is VALID [2022-04-27 11:42:34,612 INFO L290 TraceCheckUtils]: 19: Hoare triple {108954#(<= (+ 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; {108955#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-27 11:42:34,613 INFO L290 TraceCheckUtils]: 20: Hoare triple {108955#(<= (+ 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; {108956#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-27 11:42:34,613 INFO L290 TraceCheckUtils]: 21: Hoare triple {108956#(<= (+ 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; {108957#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:42:34,613 INFO L290 TraceCheckUtils]: 22: Hoare triple {108957#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {108905#false} is VALID [2022-04-27 11:42:34,613 INFO L290 TraceCheckUtils]: 23: Hoare triple {108905#false} #res := ~y~0; {108905#false} is VALID [2022-04-27 11:42:34,613 INFO L290 TraceCheckUtils]: 24: Hoare triple {108905#false} assume true; {108905#false} is VALID [2022-04-27 11:42:34,613 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {108905#false} {108904#true} #111#return; {108905#false} is VALID [2022-04-27 11:42:34,613 INFO L290 TraceCheckUtils]: 26: Hoare triple {108905#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {108905#false} is VALID [2022-04-27 11:42:34,613 INFO L272 TraceCheckUtils]: 27: Hoare triple {108905#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {108904#true} is VALID [2022-04-27 11:42:34,613 INFO L290 TraceCheckUtils]: 28: Hoare triple {108904#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 29: Hoare triple {108904#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 30: Hoare triple {108904#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 31: Hoare triple {108904#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 32: Hoare triple {108904#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 33: Hoare triple {108904#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 34: Hoare triple {108904#true} assume !(~b~1 < ~n); {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 35: Hoare triple {108904#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 36: Hoare triple {108904#true} assume !(~l~1 < ~m); {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 37: Hoare triple {108904#true} ~x~1 := 0;~y~1 := 0; {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 38: Hoare triple {108904#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 39: Hoare triple {108904#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 40: Hoare triple {108904#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 41: Hoare triple {108904#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 42: Hoare triple {108904#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 43: Hoare triple {108904#true} assume !(~x~1 < ~i~1); {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 44: Hoare triple {108904#true} #res := ~y~1; {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 45: Hoare triple {108904#true} assume true; {108904#true} is VALID [2022-04-27 11:42:34,614 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {108904#true} {108905#false} #113#return; {108905#false} is VALID [2022-04-27 11:42:34,614 INFO L290 TraceCheckUtils]: 47: Hoare triple {108905#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {108905#false} is VALID [2022-04-27 11:42:34,614 INFO L272 TraceCheckUtils]: 48: Hoare triple {108905#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {108905#false} is VALID [2022-04-27 11:42:34,615 INFO L290 TraceCheckUtils]: 49: Hoare triple {108905#false} ~cond := #in~cond; {108905#false} is VALID [2022-04-27 11:42:34,615 INFO L290 TraceCheckUtils]: 50: Hoare triple {108905#false} assume 0 == ~cond; {108905#false} is VALID [2022-04-27 11:42:34,615 INFO L290 TraceCheckUtils]: 51: Hoare triple {108905#false} assume !false; {108905#false} is VALID [2022-04-27 11:42:34,615 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-27 11:42:34,615 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:42:34,615 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [74967308] [2022-04-27 11:42:34,615 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [74967308] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:42:34,615 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1604764374] [2022-04-27 11:42:34,615 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 11:42:34,615 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:42:34,615 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:42:34,617 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-27 11:42:34,618 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-27 11:42:34,693 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2022-04-27 11:42:34,693 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:42:34,695 INFO L263 TraceCheckSpWp]: Trace formula consists of 253 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 11:42:34,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:34,702 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:42:34,830 INFO L272 TraceCheckUtils]: 0: Hoare triple {108904#true} call ULTIMATE.init(); {108904#true} is VALID [2022-04-27 11:42:34,830 INFO L290 TraceCheckUtils]: 1: Hoare triple {108904#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {108904#true} is VALID [2022-04-27 11:42:34,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {108904#true} assume true; {108904#true} is VALID [2022-04-27 11:42:34,830 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {108904#true} {108904#true} #117#return; {108904#true} is VALID [2022-04-27 11:42:34,830 INFO L272 TraceCheckUtils]: 4: Hoare triple {108904#true} call #t~ret10 := main(); {108904#true} is VALID [2022-04-27 11:42:34,831 INFO L290 TraceCheckUtils]: 5: Hoare triple {108904#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {108904#true} is VALID [2022-04-27 11:42:34,831 INFO L290 TraceCheckUtils]: 6: Hoare triple {108904#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {108904#true} is VALID [2022-04-27 11:42:34,831 INFO L272 TraceCheckUtils]: 7: Hoare triple {108904#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {108904#true} is VALID [2022-04-27 11:42:34,831 INFO L290 TraceCheckUtils]: 8: Hoare triple {108904#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {108947#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,831 INFO L290 TraceCheckUtils]: 9: Hoare triple {108947#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108948#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,832 INFO L290 TraceCheckUtils]: 10: Hoare triple {108948#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108949#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,832 INFO L290 TraceCheckUtils]: 11: Hoare triple {108949#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108950#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,832 INFO L290 TraceCheckUtils]: 12: Hoare triple {108950#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108951#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,833 INFO L290 TraceCheckUtils]: 13: Hoare triple {108951#(<= 4 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,833 INFO L290 TraceCheckUtils]: 14: Hoare triple {108952#(<= 5 correct_version_~i~0)} assume !(~b~0 < ~n); {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,833 INFO L290 TraceCheckUtils]: 15: Hoare triple {108952#(<= 5 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,833 INFO L290 TraceCheckUtils]: 16: Hoare triple {108952#(<= 5 correct_version_~i~0)} assume !(~l~0 < ~m); {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,833 INFO L290 TraceCheckUtils]: 17: Hoare triple {108952#(<= 5 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {109012#(and (<= 5 correct_version_~i~0) (<= correct_version_~x~0 0))} is VALID [2022-04-27 11:42:34,834 INFO L290 TraceCheckUtils]: 18: Hoare triple {109012#(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; {109016#(and (<= 5 correct_version_~i~0) (<= correct_version_~x~0 1))} is VALID [2022-04-27 11:42:34,834 INFO L290 TraceCheckUtils]: 19: Hoare triple {109016#(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; {109020#(and (<= correct_version_~x~0 2) (<= 5 correct_version_~i~0))} is VALID [2022-04-27 11:42:34,834 INFO L290 TraceCheckUtils]: 20: Hoare triple {109020#(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; {109024#(and (<= correct_version_~x~0 3) (<= 5 correct_version_~i~0))} is VALID [2022-04-27 11:42:34,835 INFO L290 TraceCheckUtils]: 21: Hoare triple {109024#(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; {109028#(and (<= 5 correct_version_~i~0) (<= correct_version_~x~0 4))} is VALID [2022-04-27 11:42:34,835 INFO L290 TraceCheckUtils]: 22: Hoare triple {109028#(and (<= 5 correct_version_~i~0) (<= correct_version_~x~0 4))} assume !(~x~0 < ~i~0); {108905#false} is VALID [2022-04-27 11:42:34,835 INFO L290 TraceCheckUtils]: 23: Hoare triple {108905#false} #res := ~y~0; {108905#false} is VALID [2022-04-27 11:42:34,835 INFO L290 TraceCheckUtils]: 24: Hoare triple {108905#false} assume true; {108905#false} is VALID [2022-04-27 11:42:34,835 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {108905#false} {108904#true} #111#return; {108905#false} is VALID [2022-04-27 11:42:34,835 INFO L290 TraceCheckUtils]: 26: Hoare triple {108905#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {108905#false} is VALID [2022-04-27 11:42:34,835 INFO L272 TraceCheckUtils]: 27: Hoare triple {108905#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {108905#false} is VALID [2022-04-27 11:42:34,835 INFO L290 TraceCheckUtils]: 28: Hoare triple {108905#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {108905#false} is VALID [2022-04-27 11:42:34,835 INFO L290 TraceCheckUtils]: 29: Hoare triple {108905#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108905#false} is VALID [2022-04-27 11:42:34,835 INFO L290 TraceCheckUtils]: 30: Hoare triple {108905#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108905#false} is VALID [2022-04-27 11:42:34,835 INFO L290 TraceCheckUtils]: 31: Hoare triple {108905#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108905#false} is VALID [2022-04-27 11:42:34,835 INFO L290 TraceCheckUtils]: 32: Hoare triple {108905#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108905#false} is VALID [2022-04-27 11:42:34,835 INFO L290 TraceCheckUtils]: 33: Hoare triple {108905#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 34: Hoare triple {108905#false} assume !(~b~1 < ~n); {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 35: Hoare triple {108905#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 36: Hoare triple {108905#false} assume !(~l~1 < ~m); {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 37: Hoare triple {108905#false} ~x~1 := 0;~y~1 := 0; {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 38: Hoare triple {108905#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 39: Hoare triple {108905#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 40: Hoare triple {108905#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 41: Hoare triple {108905#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 42: Hoare triple {108905#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 43: Hoare triple {108905#false} assume !(~x~1 < ~i~1); {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 44: Hoare triple {108905#false} #res := ~y~1; {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 45: Hoare triple {108905#false} assume true; {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {108905#false} {108905#false} #113#return; {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 47: Hoare triple {108905#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L272 TraceCheckUtils]: 48: Hoare triple {108905#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 49: Hoare triple {108905#false} ~cond := #in~cond; {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 50: Hoare triple {108905#false} assume 0 == ~cond; {108905#false} is VALID [2022-04-27 11:42:34,836 INFO L290 TraceCheckUtils]: 51: Hoare triple {108905#false} assume !false; {108905#false} is VALID [2022-04-27 11:42:34,837 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-27 11:42:34,837 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:42:34,941 INFO L290 TraceCheckUtils]: 51: Hoare triple {108905#false} assume !false; {108905#false} is VALID [2022-04-27 11:42:34,941 INFO L290 TraceCheckUtils]: 50: Hoare triple {108905#false} assume 0 == ~cond; {108905#false} is VALID [2022-04-27 11:42:34,941 INFO L290 TraceCheckUtils]: 49: Hoare triple {108905#false} ~cond := #in~cond; {108905#false} is VALID [2022-04-27 11:42:34,942 INFO L272 TraceCheckUtils]: 48: Hoare triple {108905#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {108905#false} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 47: Hoare triple {108905#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {108905#false} is VALID [2022-04-27 11:42:34,942 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {108904#true} {108905#false} #113#return; {108905#false} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 45: Hoare triple {108904#true} assume true; {108904#true} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 44: Hoare triple {108904#true} #res := ~y~1; {108904#true} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 43: Hoare triple {108904#true} assume !(~x~1 < ~i~1); {108904#true} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 42: Hoare triple {108904#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108904#true} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 41: Hoare triple {108904#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108904#true} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 40: Hoare triple {108904#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108904#true} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 39: Hoare triple {108904#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108904#true} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 38: Hoare triple {108904#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {108904#true} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 37: Hoare triple {108904#true} ~x~1 := 0;~y~1 := 0; {108904#true} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 36: Hoare triple {108904#true} assume !(~l~1 < ~m); {108904#true} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 35: Hoare triple {108904#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {108904#true} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 34: Hoare triple {108904#true} assume !(~b~1 < ~n); {108904#true} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 33: Hoare triple {108904#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108904#true} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 32: Hoare triple {108904#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108904#true} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 31: Hoare triple {108904#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108904#true} is VALID [2022-04-27 11:42:34,942 INFO L290 TraceCheckUtils]: 30: Hoare triple {108904#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108904#true} is VALID [2022-04-27 11:42:34,943 INFO L290 TraceCheckUtils]: 29: Hoare triple {108904#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {108904#true} is VALID [2022-04-27 11:42:34,943 INFO L290 TraceCheckUtils]: 28: Hoare triple {108904#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {108904#true} is VALID [2022-04-27 11:42:34,943 INFO L272 TraceCheckUtils]: 27: Hoare triple {108905#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {108904#true} is VALID [2022-04-27 11:42:34,943 INFO L290 TraceCheckUtils]: 26: Hoare triple {108905#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {108905#false} is VALID [2022-04-27 11:42:34,943 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {108905#false} {108904#true} #111#return; {108905#false} is VALID [2022-04-27 11:42:34,943 INFO L290 TraceCheckUtils]: 24: Hoare triple {108905#false} assume true; {108905#false} is VALID [2022-04-27 11:42:34,943 INFO L290 TraceCheckUtils]: 23: Hoare triple {108905#false} #res := ~y~0; {108905#false} is VALID [2022-04-27 11:42:34,943 INFO L290 TraceCheckUtils]: 22: Hoare triple {108957#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {108905#false} is VALID [2022-04-27 11:42:34,943 INFO L290 TraceCheckUtils]: 21: Hoare triple {108956#(<= (+ 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; {108957#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:42:34,944 INFO L290 TraceCheckUtils]: 20: Hoare triple {108955#(<= (+ 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; {108956#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-27 11:42:34,944 INFO L290 TraceCheckUtils]: 19: Hoare triple {108954#(<= (+ 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; {108955#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-27 11:42:34,944 INFO L290 TraceCheckUtils]: 18: Hoare triple {108953#(<= (+ 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; {108954#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} is VALID [2022-04-27 11:42:34,945 INFO L290 TraceCheckUtils]: 17: Hoare triple {108952#(<= 5 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {108953#(<= (+ correct_version_~x~0 5) correct_version_~i~0)} is VALID [2022-04-27 11:42:34,945 INFO L290 TraceCheckUtils]: 16: Hoare triple {108952#(<= 5 correct_version_~i~0)} assume !(~l~0 < ~m); {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,945 INFO L290 TraceCheckUtils]: 15: Hoare triple {108952#(<= 5 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,945 INFO L290 TraceCheckUtils]: 14: Hoare triple {108952#(<= 5 correct_version_~i~0)} assume !(~b~0 < ~n); {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,946 INFO L290 TraceCheckUtils]: 13: Hoare triple {108951#(<= 4 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108952#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,946 INFO L290 TraceCheckUtils]: 12: Hoare triple {108950#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108951#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,946 INFO L290 TraceCheckUtils]: 11: Hoare triple {108949#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108950#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,946 INFO L290 TraceCheckUtils]: 10: Hoare triple {108948#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108949#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,947 INFO L290 TraceCheckUtils]: 9: Hoare triple {108947#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {108948#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,947 INFO L290 TraceCheckUtils]: 8: Hoare triple {108904#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {108947#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:42:34,947 INFO L272 TraceCheckUtils]: 7: Hoare triple {108904#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {108904#true} is VALID [2022-04-27 11:42:34,947 INFO L290 TraceCheckUtils]: 6: Hoare triple {108904#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {108904#true} is VALID [2022-04-27 11:42:34,947 INFO L290 TraceCheckUtils]: 5: Hoare triple {108904#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {108904#true} is VALID [2022-04-27 11:42:34,947 INFO L272 TraceCheckUtils]: 4: Hoare triple {108904#true} call #t~ret10 := main(); {108904#true} is VALID [2022-04-27 11:42:34,947 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {108904#true} {108904#true} #117#return; {108904#true} is VALID [2022-04-27 11:42:34,947 INFO L290 TraceCheckUtils]: 2: Hoare triple {108904#true} assume true; {108904#true} is VALID [2022-04-27 11:42:34,947 INFO L290 TraceCheckUtils]: 1: Hoare triple {108904#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {108904#true} is VALID [2022-04-27 11:42:34,947 INFO L272 TraceCheckUtils]: 0: Hoare triple {108904#true} call ULTIMATE.init(); {108904#true} is VALID [2022-04-27 11:42:34,948 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-27 11:42:34,948 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1604764374] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:42:34,948 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:42:34,948 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13, 13] total 19 [2022-04-27 11:42:34,948 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1004584892] [2022-04-27 11:42:34,948 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:42:34,948 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.789473684210526) internal successors, (53), 18 states have internal predecessors, (53), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 52 [2022-04-27 11:42:34,948 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:42:34,948 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.789473684210526) internal successors, (53), 18 states have internal predecessors, (53), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:42:34,971 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-27 11:42:34,971 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 11:42:34,971 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:42:34,971 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 11:42:34,971 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=115, Invalid=227, Unknown=0, NotChecked=0, Total=342 [2022-04-27 11:42:34,971 INFO L87 Difference]: Start difference. First operand 620 states and 703 transitions. Second operand has 19 states, 19 states have (on average 2.789473684210526) internal successors, (53), 18 states have internal predecessors, (53), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:42:38,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:42:38,769 INFO L93 Difference]: Finished difference Result 944 states and 1054 transitions. [2022-04-27 11:42:38,769 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-27 11:42:38,769 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.789473684210526) internal successors, (53), 18 states have internal predecessors, (53), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 52 [2022-04-27 11:42:38,769 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:42:38,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.789473684210526) internal successors, (53), 18 states have internal predecessors, (53), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:42:38,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 111 transitions. [2022-04-27 11:42:38,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.789473684210526) internal successors, (53), 18 states have internal predecessors, (53), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:42:38,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 111 transitions. [2022-04-27 11:42:38,771 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 111 transitions. [2022-04-27 11:42:38,822 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-27 11:42:38,843 INFO L225 Difference]: With dead ends: 944 [2022-04-27 11:42:38,843 INFO L226 Difference]: Without dead ends: 617 [2022-04-27 11:42:38,846 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 104 SyntacticMatches, 1 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 325 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=494, Invalid=1066, Unknown=0, NotChecked=0, Total=1560 [2022-04-27 11:42:38,846 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 77 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 289 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 79 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 329 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 289 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:42:38,846 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [79 Valid, 75 Invalid, 329 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 289 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:42:38,846 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 617 states. [2022-04-27 11:42:42,577 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 617 to 609. [2022-04-27 11:42:42,577 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:42:42,578 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-27 11:42:42,578 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-27 11:42:42,578 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-27 11:42:42,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:42:42,592 INFO L93 Difference]: Finished difference Result 617 states and 696 transitions. [2022-04-27 11:42:42,593 INFO L276 IsEmpty]: Start isEmpty. Operand 617 states and 696 transitions. [2022-04-27 11:42:42,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:42:42,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:42:42,596 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-27 11:42:42,596 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-27 11:42:42,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:42:42,609 INFO L93 Difference]: Finished difference Result 617 states and 696 transitions. [2022-04-27 11:42:42,610 INFO L276 IsEmpty]: Start isEmpty. Operand 617 states and 696 transitions. [2022-04-27 11:42:42,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:42:42,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:42:42,612 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:42:42,612 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:42:42,613 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-27 11:42:42,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 609 states to 609 states and 686 transitions. [2022-04-27 11:42:42,629 INFO L78 Accepts]: Start accepts. Automaton has 609 states and 686 transitions. Word has length 52 [2022-04-27 11:42:42,630 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:42:42,630 INFO L495 AbstractCegarLoop]: Abstraction has 609 states and 686 transitions. [2022-04-27 11:42:42,630 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.789473684210526) internal successors, (53), 18 states have internal predecessors, (53), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:42:42,630 INFO L276 IsEmpty]: Start isEmpty. Operand 609 states and 686 transitions. [2022-04-27 11:42:42,633 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-27 11:42:42,633 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:42:42,633 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:42:42,649 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (60)] Ended with exit code 0 [2022-04-27 11:42:42,847 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 60 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable68 [2022-04-27 11:42:42,848 INFO L420 AbstractCegarLoop]: === Iteration 70 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:42:42,848 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:42:42,848 INFO L85 PathProgramCache]: Analyzing trace with hash 295087821, now seen corresponding path program 60 times [2022-04-27 11:42:42,848 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:42:42,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1491499128] [2022-04-27 11:42:42,848 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:42:42,848 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:42:42,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:42,867 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:42:42,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:42,868 INFO L290 TraceCheckUtils]: 0: Hoare triple {112832#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {112790#true} is VALID [2022-04-27 11:42:42,868 INFO L290 TraceCheckUtils]: 1: Hoare triple {112790#true} assume true; {112790#true} is VALID [2022-04-27 11:42:42,868 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {112790#true} {112790#true} #117#return; {112790#true} is VALID [2022-04-27 11:42:42,868 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:42:42,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:42,872 INFO L290 TraceCheckUtils]: 0: Hoare triple {112790#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {112790#true} is VALID [2022-04-27 11:42:42,872 INFO L290 TraceCheckUtils]: 1: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:42,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:42,872 INFO L290 TraceCheckUtils]: 3: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:42,872 INFO L290 TraceCheckUtils]: 4: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:42,872 INFO L290 TraceCheckUtils]: 5: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:42,872 INFO L290 TraceCheckUtils]: 6: Hoare triple {112790#true} assume !(~b~0 < ~n); {112790#true} is VALID [2022-04-27 11:42:42,872 INFO L290 TraceCheckUtils]: 7: Hoare triple {112790#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {112790#true} is VALID [2022-04-27 11:42:42,872 INFO L290 TraceCheckUtils]: 8: Hoare triple {112790#true} assume !(~l~0 < ~m); {112790#true} is VALID [2022-04-27 11:42:42,873 INFO L290 TraceCheckUtils]: 9: Hoare triple {112790#true} ~x~0 := 0;~y~0 := 0; {112790#true} is VALID [2022-04-27 11:42:42,873 INFO L290 TraceCheckUtils]: 10: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:42,873 INFO L290 TraceCheckUtils]: 11: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:42,873 INFO L290 TraceCheckUtils]: 12: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:42,873 INFO L290 TraceCheckUtils]: 13: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:42,873 INFO L290 TraceCheckUtils]: 14: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:42,873 INFO L290 TraceCheckUtils]: 15: Hoare triple {112790#true} assume !(~x~0 < ~i~0); {112790#true} is VALID [2022-04-27 11:42:42,873 INFO L290 TraceCheckUtils]: 16: Hoare triple {112790#true} #res := ~y~0; {112790#true} is VALID [2022-04-27 11:42:42,873 INFO L290 TraceCheckUtils]: 17: Hoare triple {112790#true} assume true; {112790#true} is VALID [2022-04-27 11:42:42,873 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {112790#true} {112790#true} #111#return; {112790#true} is VALID [2022-04-27 11:42:42,873 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-27 11:42:42,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:42,920 INFO L290 TraceCheckUtils]: 0: Hoare triple {112790#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {112833#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:42:42,920 INFO L290 TraceCheckUtils]: 1: Hoare triple {112833#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112834#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:42:42,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {112834#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112835#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:42:42,921 INFO L290 TraceCheckUtils]: 3: Hoare triple {112835#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112836#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:42:42,921 INFO L290 TraceCheckUtils]: 4: Hoare triple {112836#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112837#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:42:42,922 INFO L290 TraceCheckUtils]: 5: Hoare triple {112837#(<= 4 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:42,922 INFO L290 TraceCheckUtils]: 6: Hoare triple {112838#(<= 5 student_version_~i~1)} assume !(~b~1 < ~n); {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:42,922 INFO L290 TraceCheckUtils]: 7: Hoare triple {112838#(<= 5 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:42,922 INFO L290 TraceCheckUtils]: 8: Hoare triple {112838#(<= 5 student_version_~i~1)} assume !(~l~1 < ~m); {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:42,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {112838#(<= 5 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {112839#(<= (+ 5 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:42:42,923 INFO L290 TraceCheckUtils]: 10: Hoare triple {112839#(<= (+ 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; {112840#(<= (+ student_version_~x~1 4) student_version_~i~1)} is VALID [2022-04-27 11:42:42,923 INFO L290 TraceCheckUtils]: 11: Hoare triple {112840#(<= (+ 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; {112841#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:42:42,923 INFO L290 TraceCheckUtils]: 12: Hoare triple {112841#(<= (+ 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; {112842#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:42:42,924 INFO L290 TraceCheckUtils]: 13: Hoare triple {112842#(<= (+ 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; {112843#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:42:42,924 INFO L290 TraceCheckUtils]: 14: Hoare triple {112843#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {112791#false} is VALID [2022-04-27 11:42:42,924 INFO L290 TraceCheckUtils]: 15: Hoare triple {112791#false} #res := ~y~1; {112791#false} is VALID [2022-04-27 11:42:42,924 INFO L290 TraceCheckUtils]: 16: Hoare triple {112791#false} assume true; {112791#false} is VALID [2022-04-27 11:42:42,924 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {112791#false} {112790#true} #113#return; {112791#false} is VALID [2022-04-27 11:42:42,924 INFO L272 TraceCheckUtils]: 0: Hoare triple {112790#true} call ULTIMATE.init(); {112832#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {112832#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 2: Hoare triple {112790#true} assume true; {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112790#true} {112790#true} #117#return; {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L272 TraceCheckUtils]: 4: Hoare triple {112790#true} call #t~ret10 := main(); {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 5: Hoare triple {112790#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 6: Hoare triple {112790#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L272 TraceCheckUtils]: 7: Hoare triple {112790#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 8: Hoare triple {112790#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 9: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 10: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 11: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 12: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 13: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 14: Hoare triple {112790#true} assume !(~b~0 < ~n); {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 15: Hoare triple {112790#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 16: Hoare triple {112790#true} assume !(~l~0 < ~m); {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 17: Hoare triple {112790#true} ~x~0 := 0;~y~0 := 0; {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 18: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:42,925 INFO L290 TraceCheckUtils]: 19: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:42,926 INFO L290 TraceCheckUtils]: 20: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:42,926 INFO L290 TraceCheckUtils]: 21: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:42,926 INFO L290 TraceCheckUtils]: 22: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:42,926 INFO L290 TraceCheckUtils]: 23: Hoare triple {112790#true} assume !(~x~0 < ~i~0); {112790#true} is VALID [2022-04-27 11:42:42,926 INFO L290 TraceCheckUtils]: 24: Hoare triple {112790#true} #res := ~y~0; {112790#true} is VALID [2022-04-27 11:42:42,926 INFO L290 TraceCheckUtils]: 25: Hoare triple {112790#true} assume true; {112790#true} is VALID [2022-04-27 11:42:42,926 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {112790#true} {112790#true} #111#return; {112790#true} is VALID [2022-04-27 11:42:42,926 INFO L290 TraceCheckUtils]: 27: Hoare triple {112790#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {112790#true} is VALID [2022-04-27 11:42:42,926 INFO L272 TraceCheckUtils]: 28: Hoare triple {112790#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {112790#true} is VALID [2022-04-27 11:42:42,926 INFO L290 TraceCheckUtils]: 29: Hoare triple {112790#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {112833#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:42:42,927 INFO L290 TraceCheckUtils]: 30: Hoare triple {112833#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112834#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:42:42,927 INFO L290 TraceCheckUtils]: 31: Hoare triple {112834#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112835#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:42:42,927 INFO L290 TraceCheckUtils]: 32: Hoare triple {112835#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112836#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:42:42,927 INFO L290 TraceCheckUtils]: 33: Hoare triple {112836#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112837#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:42:42,928 INFO L290 TraceCheckUtils]: 34: Hoare triple {112837#(<= 4 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:42,928 INFO L290 TraceCheckUtils]: 35: Hoare triple {112838#(<= 5 student_version_~i~1)} assume !(~b~1 < ~n); {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:42,928 INFO L290 TraceCheckUtils]: 36: Hoare triple {112838#(<= 5 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:42,928 INFO L290 TraceCheckUtils]: 37: Hoare triple {112838#(<= 5 student_version_~i~1)} assume !(~l~1 < ~m); {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:42,928 INFO L290 TraceCheckUtils]: 38: Hoare triple {112838#(<= 5 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {112839#(<= (+ 5 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:42:42,929 INFO L290 TraceCheckUtils]: 39: Hoare triple {112839#(<= (+ 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; {112840#(<= (+ student_version_~x~1 4) student_version_~i~1)} is VALID [2022-04-27 11:42:42,929 INFO L290 TraceCheckUtils]: 40: Hoare triple {112840#(<= (+ 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; {112841#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:42:42,929 INFO L290 TraceCheckUtils]: 41: Hoare triple {112841#(<= (+ 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; {112842#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:42:42,930 INFO L290 TraceCheckUtils]: 42: Hoare triple {112842#(<= (+ 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; {112843#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:42:42,930 INFO L290 TraceCheckUtils]: 43: Hoare triple {112843#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {112791#false} is VALID [2022-04-27 11:42:42,930 INFO L290 TraceCheckUtils]: 44: Hoare triple {112791#false} #res := ~y~1; {112791#false} is VALID [2022-04-27 11:42:42,930 INFO L290 TraceCheckUtils]: 45: Hoare triple {112791#false} assume true; {112791#false} is VALID [2022-04-27 11:42:42,930 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {112791#false} {112790#true} #113#return; {112791#false} is VALID [2022-04-27 11:42:42,930 INFO L290 TraceCheckUtils]: 47: Hoare triple {112791#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {112791#false} is VALID [2022-04-27 11:42:42,930 INFO L272 TraceCheckUtils]: 48: Hoare triple {112791#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {112791#false} is VALID [2022-04-27 11:42:42,930 INFO L290 TraceCheckUtils]: 49: Hoare triple {112791#false} ~cond := #in~cond; {112791#false} is VALID [2022-04-27 11:42:42,930 INFO L290 TraceCheckUtils]: 50: Hoare triple {112791#false} assume 0 == ~cond; {112791#false} is VALID [2022-04-27 11:42:42,930 INFO L290 TraceCheckUtils]: 51: Hoare triple {112791#false} assume !false; {112791#false} is VALID [2022-04-27 11:42:42,930 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-27 11:42:42,931 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:42:42,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1491499128] [2022-04-27 11:42:42,931 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1491499128] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:42:42,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1629511794] [2022-04-27 11:42:42,931 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-27 11:42:42,931 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:42:42,931 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:42:42,933 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-27 11:42:42,934 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-27 11:42:43,021 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-27 11:42:43,021 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:42:43,022 INFO L263 TraceCheckSpWp]: Trace formula consists of 253 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 11:42:43,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:43,032 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:42:43,233 INFO L272 TraceCheckUtils]: 0: Hoare triple {112790#true} call ULTIMATE.init(); {112790#true} is VALID [2022-04-27 11:42:43,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {112790#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {112790#true} is VALID [2022-04-27 11:42:43,233 INFO L290 TraceCheckUtils]: 2: Hoare triple {112790#true} assume true; {112790#true} is VALID [2022-04-27 11:42:43,233 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112790#true} {112790#true} #117#return; {112790#true} is VALID [2022-04-27 11:42:43,233 INFO L272 TraceCheckUtils]: 4: Hoare triple {112790#true} call #t~ret10 := main(); {112790#true} is VALID [2022-04-27 11:42:43,233 INFO L290 TraceCheckUtils]: 5: Hoare triple {112790#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {112790#true} is VALID [2022-04-27 11:42:43,233 INFO L290 TraceCheckUtils]: 6: Hoare triple {112790#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {112790#true} is VALID [2022-04-27 11:42:43,233 INFO L272 TraceCheckUtils]: 7: Hoare triple {112790#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {112790#true} is VALID [2022-04-27 11:42:43,233 INFO L290 TraceCheckUtils]: 8: Hoare triple {112790#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {112790#true} is VALID [2022-04-27 11:42:43,233 INFO L290 TraceCheckUtils]: 9: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:43,233 INFO L290 TraceCheckUtils]: 10: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:43,233 INFO L290 TraceCheckUtils]: 11: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:43,233 INFO L290 TraceCheckUtils]: 12: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L290 TraceCheckUtils]: 13: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L290 TraceCheckUtils]: 14: Hoare triple {112790#true} assume !(~b~0 < ~n); {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L290 TraceCheckUtils]: 15: Hoare triple {112790#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L290 TraceCheckUtils]: 16: Hoare triple {112790#true} assume !(~l~0 < ~m); {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L290 TraceCheckUtils]: 17: Hoare triple {112790#true} ~x~0 := 0;~y~0 := 0; {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L290 TraceCheckUtils]: 18: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L290 TraceCheckUtils]: 19: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L290 TraceCheckUtils]: 20: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L290 TraceCheckUtils]: 21: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L290 TraceCheckUtils]: 22: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L290 TraceCheckUtils]: 23: Hoare triple {112790#true} assume !(~x~0 < ~i~0); {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L290 TraceCheckUtils]: 24: Hoare triple {112790#true} #res := ~y~0; {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L290 TraceCheckUtils]: 25: Hoare triple {112790#true} assume true; {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {112790#true} {112790#true} #111#return; {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L290 TraceCheckUtils]: 27: Hoare triple {112790#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {112790#true} is VALID [2022-04-27 11:42:43,234 INFO L272 TraceCheckUtils]: 28: Hoare triple {112790#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {112790#true} is VALID [2022-04-27 11:42:43,235 INFO L290 TraceCheckUtils]: 29: Hoare triple {112790#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {112833#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:42:43,235 INFO L290 TraceCheckUtils]: 30: Hoare triple {112833#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112834#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:42:43,235 INFO L290 TraceCheckUtils]: 31: Hoare triple {112834#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112835#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:42:43,236 INFO L290 TraceCheckUtils]: 32: Hoare triple {112835#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112836#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:42:43,236 INFO L290 TraceCheckUtils]: 33: Hoare triple {112836#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112837#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:42:43,236 INFO L290 TraceCheckUtils]: 34: Hoare triple {112837#(<= 4 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:43,237 INFO L290 TraceCheckUtils]: 35: Hoare triple {112838#(<= 5 student_version_~i~1)} assume !(~b~1 < ~n); {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:43,237 INFO L290 TraceCheckUtils]: 36: Hoare triple {112838#(<= 5 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:43,237 INFO L290 TraceCheckUtils]: 37: Hoare triple {112838#(<= 5 student_version_~i~1)} assume !(~l~1 < ~m); {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:43,237 INFO L290 TraceCheckUtils]: 38: Hoare triple {112838#(<= 5 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {112961#(and (<= student_version_~x~1 0) (<= 5 student_version_~i~1))} is VALID [2022-04-27 11:42:43,237 INFO L290 TraceCheckUtils]: 39: Hoare triple {112961#(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; {112965#(and (<= student_version_~x~1 1) (<= 5 student_version_~i~1))} is VALID [2022-04-27 11:42:43,238 INFO L290 TraceCheckUtils]: 40: Hoare triple {112965#(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; {112969#(and (<= student_version_~x~1 2) (<= 5 student_version_~i~1))} is VALID [2022-04-27 11:42:43,238 INFO L290 TraceCheckUtils]: 41: Hoare triple {112969#(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; {112973#(and (<= student_version_~x~1 3) (<= 5 student_version_~i~1))} is VALID [2022-04-27 11:42:43,239 INFO L290 TraceCheckUtils]: 42: Hoare triple {112973#(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; {112977#(and (<= 5 student_version_~i~1) (<= student_version_~x~1 4))} is VALID [2022-04-27 11:42:43,239 INFO L290 TraceCheckUtils]: 43: Hoare triple {112977#(and (<= 5 student_version_~i~1) (<= student_version_~x~1 4))} assume !(~x~1 < ~i~1); {112791#false} is VALID [2022-04-27 11:42:43,239 INFO L290 TraceCheckUtils]: 44: Hoare triple {112791#false} #res := ~y~1; {112791#false} is VALID [2022-04-27 11:42:43,239 INFO L290 TraceCheckUtils]: 45: Hoare triple {112791#false} assume true; {112791#false} is VALID [2022-04-27 11:42:43,239 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {112791#false} {112790#true} #113#return; {112791#false} is VALID [2022-04-27 11:42:43,239 INFO L290 TraceCheckUtils]: 47: Hoare triple {112791#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {112791#false} is VALID [2022-04-27 11:42:43,239 INFO L272 TraceCheckUtils]: 48: Hoare triple {112791#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {112791#false} is VALID [2022-04-27 11:42:43,239 INFO L290 TraceCheckUtils]: 49: Hoare triple {112791#false} ~cond := #in~cond; {112791#false} is VALID [2022-04-27 11:42:43,239 INFO L290 TraceCheckUtils]: 50: Hoare triple {112791#false} assume 0 == ~cond; {112791#false} is VALID [2022-04-27 11:42:43,239 INFO L290 TraceCheckUtils]: 51: Hoare triple {112791#false} assume !false; {112791#false} is VALID [2022-04-27 11:42:43,239 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-27 11:42:43,239 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:42:43,361 INFO L290 TraceCheckUtils]: 51: Hoare triple {112791#false} assume !false; {112791#false} is VALID [2022-04-27 11:42:43,361 INFO L290 TraceCheckUtils]: 50: Hoare triple {112791#false} assume 0 == ~cond; {112791#false} is VALID [2022-04-27 11:42:43,361 INFO L290 TraceCheckUtils]: 49: Hoare triple {112791#false} ~cond := #in~cond; {112791#false} is VALID [2022-04-27 11:42:43,362 INFO L272 TraceCheckUtils]: 48: Hoare triple {112791#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {112791#false} is VALID [2022-04-27 11:42:43,362 INFO L290 TraceCheckUtils]: 47: Hoare triple {112791#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {112791#false} is VALID [2022-04-27 11:42:43,362 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {112791#false} {112790#true} #113#return; {112791#false} is VALID [2022-04-27 11:42:43,362 INFO L290 TraceCheckUtils]: 45: Hoare triple {112791#false} assume true; {112791#false} is VALID [2022-04-27 11:42:43,362 INFO L290 TraceCheckUtils]: 44: Hoare triple {112791#false} #res := ~y~1; {112791#false} is VALID [2022-04-27 11:42:43,362 INFO L290 TraceCheckUtils]: 43: Hoare triple {112843#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {112791#false} is VALID [2022-04-27 11:42:43,362 INFO L290 TraceCheckUtils]: 42: Hoare triple {112842#(<= (+ 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; {112843#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:42:43,363 INFO L290 TraceCheckUtils]: 41: Hoare triple {112841#(<= (+ 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; {112842#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:42:43,363 INFO L290 TraceCheckUtils]: 40: Hoare triple {112840#(<= (+ 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; {112841#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:42:43,363 INFO L290 TraceCheckUtils]: 39: Hoare triple {112839#(<= (+ 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; {112840#(<= (+ student_version_~x~1 4) student_version_~i~1)} is VALID [2022-04-27 11:42:43,364 INFO L290 TraceCheckUtils]: 38: Hoare triple {112838#(<= 5 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {112839#(<= (+ 5 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:42:43,364 INFO L290 TraceCheckUtils]: 37: Hoare triple {112838#(<= 5 student_version_~i~1)} assume !(~l~1 < ~m); {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:43,364 INFO L290 TraceCheckUtils]: 36: Hoare triple {112838#(<= 5 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:43,364 INFO L290 TraceCheckUtils]: 35: Hoare triple {112838#(<= 5 student_version_~i~1)} assume !(~b~1 < ~n); {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:43,365 INFO L290 TraceCheckUtils]: 34: Hoare triple {112837#(<= 4 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112838#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:42:43,365 INFO L290 TraceCheckUtils]: 33: Hoare triple {112836#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112837#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:42:43,365 INFO L290 TraceCheckUtils]: 32: Hoare triple {112835#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112836#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:42:43,365 INFO L290 TraceCheckUtils]: 31: Hoare triple {112834#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112835#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:42:43,366 INFO L290 TraceCheckUtils]: 30: Hoare triple {112833#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {112834#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:42:43,366 INFO L290 TraceCheckUtils]: 29: Hoare triple {112790#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {112833#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:42:43,366 INFO L272 TraceCheckUtils]: 28: Hoare triple {112790#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {112790#true} is VALID [2022-04-27 11:42:43,366 INFO L290 TraceCheckUtils]: 27: Hoare triple {112790#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {112790#true} is VALID [2022-04-27 11:42:43,366 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {112790#true} {112790#true} #111#return; {112790#true} is VALID [2022-04-27 11:42:43,366 INFO L290 TraceCheckUtils]: 25: Hoare triple {112790#true} assume true; {112790#true} is VALID [2022-04-27 11:42:43,366 INFO L290 TraceCheckUtils]: 24: Hoare triple {112790#true} #res := ~y~0; {112790#true} is VALID [2022-04-27 11:42:43,366 INFO L290 TraceCheckUtils]: 23: Hoare triple {112790#true} assume !(~x~0 < ~i~0); {112790#true} is VALID [2022-04-27 11:42:43,366 INFO L290 TraceCheckUtils]: 22: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 21: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 20: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 19: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 18: Hoare triple {112790#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 17: Hoare triple {112790#true} ~x~0 := 0;~y~0 := 0; {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 16: Hoare triple {112790#true} assume !(~l~0 < ~m); {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 15: Hoare triple {112790#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 14: Hoare triple {112790#true} assume !(~b~0 < ~n); {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 13: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 12: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 11: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 10: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 9: Hoare triple {112790#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 8: Hoare triple {112790#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L272 TraceCheckUtils]: 7: Hoare triple {112790#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 6: Hoare triple {112790#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L290 TraceCheckUtils]: 5: Hoare triple {112790#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L272 TraceCheckUtils]: 4: Hoare triple {112790#true} call #t~ret10 := main(); {112790#true} is VALID [2022-04-27 11:42:43,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112790#true} {112790#true} #117#return; {112790#true} is VALID [2022-04-27 11:42:43,368 INFO L290 TraceCheckUtils]: 2: Hoare triple {112790#true} assume true; {112790#true} is VALID [2022-04-27 11:42:43,368 INFO L290 TraceCheckUtils]: 1: Hoare triple {112790#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {112790#true} is VALID [2022-04-27 11:42:43,368 INFO L272 TraceCheckUtils]: 0: Hoare triple {112790#true} call ULTIMATE.init(); {112790#true} is VALID [2022-04-27 11:42:43,368 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-27 11:42:43,368 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1629511794] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:42:43,368 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:42:43,368 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13, 13] total 19 [2022-04-27 11:42:43,368 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2057793413] [2022-04-27 11:42:43,368 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:42:43,368 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 52 [2022-04-27 11:42:43,368 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:42:43,369 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:42:43,388 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-27 11:42:43,388 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 11:42:43,388 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:42:43,388 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 11:42:43,388 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=115, Invalid=227, Unknown=0, NotChecked=0, Total=342 [2022-04-27 11:42:43,389 INFO L87 Difference]: Start difference. First operand 609 states and 686 transitions. Second operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:42:47,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:42:47,504 INFO L93 Difference]: Finished difference Result 651 states and 736 transitions. [2022-04-27 11:42:47,504 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-27 11:42:47,504 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 52 [2022-04-27 11:42:47,504 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:42:47,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:42:47,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 98 transitions. [2022-04-27 11:42:47,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:42:47,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 98 transitions. [2022-04-27 11:42:47,514 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 98 transitions. [2022-04-27 11:42:47,564 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-27 11:42:47,583 INFO L225 Difference]: With dead ends: 651 [2022-04-27 11:42:47,583 INFO L226 Difference]: Without dead ends: 618 [2022-04-27 11:42:47,585 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 104 SyntacticMatches, 1 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 315 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=494, Invalid=1066, Unknown=0, NotChecked=0, Total=1560 [2022-04-27 11:42:47,586 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 99 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 383 mSolverCounterSat, 60 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 105 SdHoareTripleChecker+Valid, 82 SdHoareTripleChecker+Invalid, 443 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 60 IncrementalHoareTripleChecker+Valid, 383 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:42:47,586 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [105 Valid, 82 Invalid, 443 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [60 Valid, 383 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 11:42:47,586 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 618 states. [2022-04-27 11:42:51,104 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 618 to 618. [2022-04-27 11:42:51,104 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:42:51,105 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-27 11:42:51,105 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-27 11:42:51,106 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-27 11:42:51,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:42:51,119 INFO L93 Difference]: Finished difference Result 618 states and 695 transitions. [2022-04-27 11:42:51,119 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 695 transitions. [2022-04-27 11:42:51,122 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:42:51,122 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:42:51,122 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-27 11:42:51,123 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-27 11:42:51,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:42:51,136 INFO L93 Difference]: Finished difference Result 618 states and 695 transitions. [2022-04-27 11:42:51,136 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 695 transitions. [2022-04-27 11:42:51,139 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:42:51,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:42:51,139 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:42:51,139 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:42:51,139 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-27 11:42:51,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 618 states to 618 states and 695 transitions. [2022-04-27 11:42:51,156 INFO L78 Accepts]: Start accepts. Automaton has 618 states and 695 transitions. Word has length 52 [2022-04-27 11:42:51,157 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:42:51,157 INFO L495 AbstractCegarLoop]: Abstraction has 618 states and 695 transitions. [2022-04-27 11:42:51,157 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:42:51,157 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 695 transitions. [2022-04-27 11:42:51,160 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-27 11:42:51,160 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:42:51,160 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:42:51,176 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-27 11:42:51,376 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable69,61 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:42:51,376 INFO L420 AbstractCegarLoop]: === Iteration 71 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:42:51,376 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:42:51,376 INFO L85 PathProgramCache]: Analyzing trace with hash 715381933, now seen corresponding path program 61 times [2022-04-27 11:42:51,376 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:42:51,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1731307423] [2022-04-27 11:42:51,377 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:42:51,377 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:42:51,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:51,477 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:42:51,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:51,479 INFO L290 TraceCheckUtils]: 0: Hoare triple {116330#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {116281#true} is VALID [2022-04-27 11:42:51,479 INFO L290 TraceCheckUtils]: 1: Hoare triple {116281#true} assume true; {116281#true} is VALID [2022-04-27 11:42:51,479 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {116281#true} {116281#true} #117#return; {116281#true} is VALID [2022-04-27 11:42:51,479 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:42:51,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:51,608 INFO L290 TraceCheckUtils]: 0: Hoare triple {116281#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:42:51,608 INFO L290 TraceCheckUtils]: 1: Hoare triple {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:42:51,609 INFO L290 TraceCheckUtils]: 2: Hoare triple {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:42:51,609 INFO L290 TraceCheckUtils]: 3: Hoare triple {116331#(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; {116332#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:42:51,609 INFO L290 TraceCheckUtils]: 4: Hoare triple {116332#(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; {116333#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:42:51,610 INFO L290 TraceCheckUtils]: 5: Hoare triple {116333#(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; {116334#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:42:51,610 INFO L290 TraceCheckUtils]: 6: Hoare triple {116334#(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; {116335#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:42:51,610 INFO L290 TraceCheckUtils]: 7: Hoare triple {116335#(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; {116336#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:42:51,611 INFO L290 TraceCheckUtils]: 8: Hoare triple {116336#(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; {116337#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:42:51,611 INFO L290 TraceCheckUtils]: 9: Hoare triple {116337#(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; {116338#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:42:51,611 INFO L290 TraceCheckUtils]: 10: Hoare triple {116338#(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; {116339#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:42:51,612 INFO L290 TraceCheckUtils]: 11: Hoare triple {116339#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:42:51,612 INFO L290 TraceCheckUtils]: 12: Hoare triple {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !(~l~0 < ~m); {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:42:51,612 INFO L290 TraceCheckUtils]: 13: Hoare triple {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {116341#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} is VALID [2022-04-27 11:42:51,613 INFO L290 TraceCheckUtils]: 14: Hoare triple {116341#(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; {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:42:51,613 INFO L290 TraceCheckUtils]: 15: Hoare triple {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:42:51,613 INFO L290 TraceCheckUtils]: 16: Hoare triple {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:42:51,613 INFO L290 TraceCheckUtils]: 17: Hoare triple {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:42:51,614 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {116281#true} #111#return; {116305#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-27 11:42:51,614 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-27 11:42:51,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:51,833 INFO L290 TraceCheckUtils]: 0: Hoare triple {116281#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:42:51,833 INFO L290 TraceCheckUtils]: 1: Hoare triple {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:42:51,834 INFO L290 TraceCheckUtils]: 2: Hoare triple {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:42:51,834 INFO L290 TraceCheckUtils]: 3: Hoare triple {116344#(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; {116345#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:42:51,834 INFO L290 TraceCheckUtils]: 4: Hoare triple {116345#(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; {116346#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:42:51,835 INFO L290 TraceCheckUtils]: 5: Hoare triple {116346#(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; {116347#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:42:51,835 INFO L290 TraceCheckUtils]: 6: Hoare triple {116347#(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; {116348#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:42:51,835 INFO L290 TraceCheckUtils]: 7: Hoare triple {116348#(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; {116349#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:42:51,836 INFO L290 TraceCheckUtils]: 8: Hoare triple {116349#(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; {116350#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:42:51,836 INFO L290 TraceCheckUtils]: 9: Hoare triple {116350#(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; {116351#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:42:51,836 INFO L290 TraceCheckUtils]: 10: Hoare triple {116351#(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; {116352#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:42:51,837 INFO L290 TraceCheckUtils]: 11: Hoare triple {116352#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:42:51,837 INFO L290 TraceCheckUtils]: 12: Hoare triple {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !(~l~1 < ~m); {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:42:51,837 INFO L290 TraceCheckUtils]: 13: Hoare triple {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {116354#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:42:51,838 INFO L290 TraceCheckUtils]: 14: Hoare triple {116354#(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; {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:42:51,838 INFO L290 TraceCheckUtils]: 15: Hoare triple {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:42:51,838 INFO L290 TraceCheckUtils]: 16: Hoare triple {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:42:51,838 INFO L290 TraceCheckUtils]: 17: Hoare triple {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:42:51,839 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {116306#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {116326#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:42:51,839 INFO L272 TraceCheckUtils]: 0: Hoare triple {116281#true} call ULTIMATE.init(); {116330#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:42:51,839 INFO L290 TraceCheckUtils]: 1: Hoare triple {116330#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {116281#true} is VALID [2022-04-27 11:42:51,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {116281#true} assume true; {116281#true} is VALID [2022-04-27 11:42:51,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {116281#true} {116281#true} #117#return; {116281#true} is VALID [2022-04-27 11:42:51,839 INFO L272 TraceCheckUtils]: 4: Hoare triple {116281#true} call #t~ret10 := main(); {116281#true} is VALID [2022-04-27 11:42:51,839 INFO L290 TraceCheckUtils]: 5: Hoare triple {116281#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {116281#true} is VALID [2022-04-27 11:42:51,839 INFO L290 TraceCheckUtils]: 6: Hoare triple {116281#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {116281#true} is VALID [2022-04-27 11:42:51,840 INFO L272 TraceCheckUtils]: 7: Hoare triple {116281#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {116281#true} is VALID [2022-04-27 11:42:51,840 INFO L290 TraceCheckUtils]: 8: Hoare triple {116281#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:42:51,840 INFO L290 TraceCheckUtils]: 9: Hoare triple {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:42:51,840 INFO L290 TraceCheckUtils]: 10: Hoare triple {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:42:51,841 INFO L290 TraceCheckUtils]: 11: Hoare triple {116331#(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; {116332#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:42:51,841 INFO L290 TraceCheckUtils]: 12: Hoare triple {116332#(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; {116333#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:42:51,841 INFO L290 TraceCheckUtils]: 13: Hoare triple {116333#(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; {116334#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:42:51,842 INFO L290 TraceCheckUtils]: 14: Hoare triple {116334#(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; {116335#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:42:51,842 INFO L290 TraceCheckUtils]: 15: Hoare triple {116335#(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; {116336#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:42:51,842 INFO L290 TraceCheckUtils]: 16: Hoare triple {116336#(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; {116337#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:42:51,843 INFO L290 TraceCheckUtils]: 17: Hoare triple {116337#(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; {116338#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:42:51,843 INFO L290 TraceCheckUtils]: 18: Hoare triple {116338#(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; {116339#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:42:51,843 INFO L290 TraceCheckUtils]: 19: Hoare triple {116339#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:42:51,844 INFO L290 TraceCheckUtils]: 20: Hoare triple {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !(~l~0 < ~m); {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:42:51,844 INFO L290 TraceCheckUtils]: 21: Hoare triple {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {116341#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} is VALID [2022-04-27 11:42:51,844 INFO L290 TraceCheckUtils]: 22: Hoare triple {116341#(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; {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:42:51,844 INFO L290 TraceCheckUtils]: 23: Hoare triple {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:42:51,845 INFO L290 TraceCheckUtils]: 24: Hoare triple {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:42:51,845 INFO L290 TraceCheckUtils]: 25: Hoare triple {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:42:51,845 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {116281#true} #111#return; {116305#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-27 11:42:51,846 INFO L290 TraceCheckUtils]: 27: Hoare triple {116305#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {116306#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} is VALID [2022-04-27 11:42:51,846 INFO L272 TraceCheckUtils]: 28: Hoare triple {116306#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {116281#true} is VALID [2022-04-27 11:42:51,846 INFO L290 TraceCheckUtils]: 29: Hoare triple {116281#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:42:51,846 INFO L290 TraceCheckUtils]: 30: Hoare triple {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:42:51,846 INFO L290 TraceCheckUtils]: 31: Hoare triple {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:42:51,847 INFO L290 TraceCheckUtils]: 32: Hoare triple {116344#(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; {116345#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:42:51,847 INFO L290 TraceCheckUtils]: 33: Hoare triple {116345#(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; {116346#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:42:51,847 INFO L290 TraceCheckUtils]: 34: Hoare triple {116346#(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; {116347#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:42:51,848 INFO L290 TraceCheckUtils]: 35: Hoare triple {116347#(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; {116348#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:42:51,848 INFO L290 TraceCheckUtils]: 36: Hoare triple {116348#(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; {116349#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:42:51,848 INFO L290 TraceCheckUtils]: 37: Hoare triple {116349#(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; {116350#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:42:51,849 INFO L290 TraceCheckUtils]: 38: Hoare triple {116350#(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; {116351#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:42:51,849 INFO L290 TraceCheckUtils]: 39: Hoare triple {116351#(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; {116352#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:42:51,849 INFO L290 TraceCheckUtils]: 40: Hoare triple {116352#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:42:51,850 INFO L290 TraceCheckUtils]: 41: Hoare triple {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !(~l~1 < ~m); {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:42:51,850 INFO L290 TraceCheckUtils]: 42: Hoare triple {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {116354#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:42:51,850 INFO L290 TraceCheckUtils]: 43: Hoare triple {116354#(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; {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:42:51,850 INFO L290 TraceCheckUtils]: 44: Hoare triple {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:42:51,851 INFO L290 TraceCheckUtils]: 45: Hoare triple {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:42:51,851 INFO L290 TraceCheckUtils]: 46: Hoare triple {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:42:51,851 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {116306#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {116326#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:42:51,852 INFO L290 TraceCheckUtils]: 48: Hoare triple {116326#(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; {116327#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:42:51,852 INFO L272 TraceCheckUtils]: 49: Hoare triple {116327#(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)); {116328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:42:51,852 INFO L290 TraceCheckUtils]: 50: Hoare triple {116328#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {116329#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:42:51,853 INFO L290 TraceCheckUtils]: 51: Hoare triple {116329#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {116282#false} is VALID [2022-04-27 11:42:51,853 INFO L290 TraceCheckUtils]: 52: Hoare triple {116282#false} assume !false; {116282#false} is VALID [2022-04-27 11:42:51,853 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 0 proven. 92 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-27 11:42:51,853 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:42:51,853 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1731307423] [2022-04-27 11:42:51,853 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1731307423] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:42:51,853 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1335251721] [2022-04-27 11:42:51,853 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-04-27 11:42:51,853 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:42:51,853 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:42:51,854 INFO L229 MonitoredProcess]: Starting monitored process 62 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:42:51,891 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (62)] Waiting until timeout for monitored process [2022-04-27 11:42:51,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:51,946 INFO L263 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-27 11:42:51,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:42:51,953 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:42:52,337 INFO L272 TraceCheckUtils]: 0: Hoare triple {116281#true} call ULTIMATE.init(); {116281#true} is VALID [2022-04-27 11:42:52,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {116281#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {116281#true} is VALID [2022-04-27 11:42:52,338 INFO L290 TraceCheckUtils]: 2: Hoare triple {116281#true} assume true; {116281#true} is VALID [2022-04-27 11:42:52,338 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {116281#true} {116281#true} #117#return; {116281#true} is VALID [2022-04-27 11:42:52,338 INFO L272 TraceCheckUtils]: 4: Hoare triple {116281#true} call #t~ret10 := main(); {116281#true} is VALID [2022-04-27 11:42:52,338 INFO L290 TraceCheckUtils]: 5: Hoare triple {116281#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {116281#true} is VALID [2022-04-27 11:42:52,338 INFO L290 TraceCheckUtils]: 6: Hoare triple {116281#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {116281#true} is VALID [2022-04-27 11:42:52,338 INFO L272 TraceCheckUtils]: 7: Hoare triple {116281#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {116281#true} is VALID [2022-04-27 11:42:52,338 INFO L290 TraceCheckUtils]: 8: Hoare triple {116281#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:42:52,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:42:52,339 INFO L290 TraceCheckUtils]: 10: Hoare triple {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:42:52,339 INFO L290 TraceCheckUtils]: 11: Hoare triple {116331#(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; {116332#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:42:52,339 INFO L290 TraceCheckUtils]: 12: Hoare triple {116332#(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; {116333#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:42:52,340 INFO L290 TraceCheckUtils]: 13: Hoare triple {116333#(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; {116334#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:42:52,340 INFO L290 TraceCheckUtils]: 14: Hoare triple {116334#(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; {116335#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:42:52,341 INFO L290 TraceCheckUtils]: 15: Hoare triple {116335#(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; {116336#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:42:52,341 INFO L290 TraceCheckUtils]: 16: Hoare triple {116336#(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; {116337#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:42:52,341 INFO L290 TraceCheckUtils]: 17: Hoare triple {116337#(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; {116338#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:42:52,342 INFO L290 TraceCheckUtils]: 18: Hoare triple {116338#(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; {116339#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:42:52,342 INFO L290 TraceCheckUtils]: 19: Hoare triple {116339#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:42:52,342 INFO L290 TraceCheckUtils]: 20: Hoare triple {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !(~l~0 < ~m); {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:42:52,342 INFO L290 TraceCheckUtils]: 21: Hoare triple {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {116423#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0) (= correct_version_~y~0 0))} is VALID [2022-04-27 11:42:52,343 INFO L290 TraceCheckUtils]: 22: Hoare triple {116423#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0) (= correct_version_~y~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:42:52,343 INFO L290 TraceCheckUtils]: 23: Hoare triple {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:42:52,343 INFO L290 TraceCheckUtils]: 24: Hoare triple {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:42:52,343 INFO L290 TraceCheckUtils]: 25: Hoare triple {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:42:52,344 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {116281#true} #111#return; {116305#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-27 11:42:52,344 INFO L290 TraceCheckUtils]: 27: Hoare triple {116305#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {116306#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} is VALID [2022-04-27 11:42:52,344 INFO L272 TraceCheckUtils]: 28: Hoare triple {116306#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {116281#true} is VALID [2022-04-27 11:42:52,344 INFO L290 TraceCheckUtils]: 29: Hoare triple {116281#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:42:52,345 INFO L290 TraceCheckUtils]: 30: Hoare triple {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:42:52,345 INFO L290 TraceCheckUtils]: 31: Hoare triple {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:42:52,345 INFO L290 TraceCheckUtils]: 32: Hoare triple {116344#(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; {116345#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:42:52,346 INFO L290 TraceCheckUtils]: 33: Hoare triple {116345#(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; {116346#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:42:52,346 INFO L290 TraceCheckUtils]: 34: Hoare triple {116346#(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; {116347#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:42:52,346 INFO L290 TraceCheckUtils]: 35: Hoare triple {116347#(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; {116348#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:42:52,347 INFO L290 TraceCheckUtils]: 36: Hoare triple {116348#(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; {116349#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:42:52,347 INFO L290 TraceCheckUtils]: 37: Hoare triple {116349#(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; {116350#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:42:52,347 INFO L290 TraceCheckUtils]: 38: Hoare triple {116350#(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; {116351#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:42:52,348 INFO L290 TraceCheckUtils]: 39: Hoare triple {116351#(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; {116352#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:42:52,348 INFO L290 TraceCheckUtils]: 40: Hoare triple {116352#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:42:52,348 INFO L290 TraceCheckUtils]: 41: Hoare triple {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !(~l~1 < ~m); {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:42:52,349 INFO L290 TraceCheckUtils]: 42: Hoare triple {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {116487#(and (= student_version_~y~1 0) (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:42:52,349 INFO L290 TraceCheckUtils]: 43: Hoare triple {116487#(and (= student_version_~y~1 0) (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:42:52,349 INFO L290 TraceCheckUtils]: 44: Hoare triple {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:42:52,349 INFO L290 TraceCheckUtils]: 45: Hoare triple {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:42:52,350 INFO L290 TraceCheckUtils]: 46: Hoare triple {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:42:52,350 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {116306#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {116503#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9) (<= |main_#t~ret9| 9) (<= 9 |main_#t~ret9|))} is VALID [2022-04-27 11:42:52,350 INFO L290 TraceCheckUtils]: 48: Hoare triple {116503#(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; {116507#(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-27 11:42:52,351 INFO L272 TraceCheckUtils]: 49: Hoare triple {116507#(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)); {116511#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:42:52,351 INFO L290 TraceCheckUtils]: 50: Hoare triple {116511#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {116515#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:42:52,351 INFO L290 TraceCheckUtils]: 51: Hoare triple {116515#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {116282#false} is VALID [2022-04-27 11:42:52,351 INFO L290 TraceCheckUtils]: 52: Hoare triple {116282#false} assume !false; {116282#false} is VALID [2022-04-27 11:42:52,351 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 0 proven. 92 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-27 11:42:52,352 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:42:52,807 INFO L290 TraceCheckUtils]: 52: Hoare triple {116282#false} assume !false; {116282#false} is VALID [2022-04-27 11:42:52,807 INFO L290 TraceCheckUtils]: 51: Hoare triple {116515#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {116282#false} is VALID [2022-04-27 11:42:52,808 INFO L290 TraceCheckUtils]: 50: Hoare triple {116511#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {116515#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:42:52,808 INFO L272 TraceCheckUtils]: 49: Hoare triple {116327#(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)); {116511#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:42:52,809 INFO L290 TraceCheckUtils]: 48: Hoare triple {116326#(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; {116327#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:42:52,810 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} {116306#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} #113#return; {116326#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:42:52,810 INFO L290 TraceCheckUtils]: 46: Hoare triple {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} assume true; {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:42:52,810 INFO L290 TraceCheckUtils]: 45: Hoare triple {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} #res := ~y~1; {116356#(and (<= 9 |student_version_#res|) (<= |student_version_#res| 9))} is VALID [2022-04-27 11:42:52,811 INFO L290 TraceCheckUtils]: 44: Hoare triple {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} assume !(~x~1 < ~i~1); {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:42:52,811 INFO L290 TraceCheckUtils]: 43: Hoare triple {116354#(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; {116355#(and (<= 9 student_version_~y~1) (<= student_version_~y~1 9))} is VALID [2022-04-27 11:42:52,811 INFO L290 TraceCheckUtils]: 42: Hoare triple {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {116354#(and (<= (+ student_version_~j~1 student_version_~y~1) 9) (<= 9 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:42:52,812 INFO L290 TraceCheckUtils]: 41: Hoare triple {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !(~l~1 < ~m); {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:42:52,812 INFO L290 TraceCheckUtils]: 40: Hoare triple {116352#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {116353#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:42:52,813 INFO L290 TraceCheckUtils]: 39: Hoare triple {116351#(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; {116352#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:42:52,813 INFO L290 TraceCheckUtils]: 38: Hoare triple {116350#(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; {116351#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:42:52,813 INFO L290 TraceCheckUtils]: 37: Hoare triple {116349#(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; {116350#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:42:52,814 INFO L290 TraceCheckUtils]: 36: Hoare triple {116348#(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; {116349#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:42:52,814 INFO L290 TraceCheckUtils]: 35: Hoare triple {116347#(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; {116348#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:42:52,815 INFO L290 TraceCheckUtils]: 34: Hoare triple {116346#(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; {116347#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:42:52,815 INFO L290 TraceCheckUtils]: 33: Hoare triple {116345#(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; {116346#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:42:52,816 INFO L290 TraceCheckUtils]: 32: Hoare triple {116344#(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; {116345#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:42:52,816 INFO L290 TraceCheckUtils]: 31: Hoare triple {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:42:52,817 INFO L290 TraceCheckUtils]: 30: Hoare triple {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:42:52,817 INFO L290 TraceCheckUtils]: 29: Hoare triple {116281#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {116344#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:42:52,817 INFO L272 TraceCheckUtils]: 28: Hoare triple {116306#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {116281#true} is VALID [2022-04-27 11:42:52,817 INFO L290 TraceCheckUtils]: 27: Hoare triple {116305#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {116306#(and (<= 9 main_~n_stones1~0) (<= main_~n_stones1~0 9))} is VALID [2022-04-27 11:42:52,818 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} {116281#true} #111#return; {116305#(and (<= |main_#t~ret8| 9) (<= 9 |main_#t~ret8|))} is VALID [2022-04-27 11:42:52,818 INFO L290 TraceCheckUtils]: 25: Hoare triple {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} assume true; {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:42:52,819 INFO L290 TraceCheckUtils]: 24: Hoare triple {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} #res := ~y~0; {116343#(and (<= 9 |correct_version_#res|) (<= |correct_version_#res| 9))} is VALID [2022-04-27 11:42:52,819 INFO L290 TraceCheckUtils]: 23: Hoare triple {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} assume !(~x~0 < ~i~0); {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:42:52,819 INFO L290 TraceCheckUtils]: 22: Hoare triple {116341#(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; {116342#(and (<= correct_version_~y~0 9) (<= 9 correct_version_~y~0))} is VALID [2022-04-27 11:42:52,820 INFO L290 TraceCheckUtils]: 21: Hoare triple {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {116341#(and (<= 9 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 9))} is VALID [2022-04-27 11:42:52,820 INFO L290 TraceCheckUtils]: 20: Hoare triple {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !(~l~0 < ~m); {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:42:52,821 INFO L290 TraceCheckUtils]: 19: Hoare triple {116339#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {116340#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:42:52,821 INFO L290 TraceCheckUtils]: 18: Hoare triple {116338#(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; {116339#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:42:52,822 INFO L290 TraceCheckUtils]: 17: Hoare triple {116337#(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; {116338#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:42:52,822 INFO L290 TraceCheckUtils]: 16: Hoare triple {116336#(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; {116337#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:42:52,823 INFO L290 TraceCheckUtils]: 15: Hoare triple {116335#(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; {116336#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:42:52,823 INFO L290 TraceCheckUtils]: 14: Hoare triple {116334#(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; {116335#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:42:52,823 INFO L290 TraceCheckUtils]: 13: Hoare triple {116333#(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; {116334#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:42:52,824 INFO L290 TraceCheckUtils]: 12: Hoare triple {116332#(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; {116333#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:42:52,824 INFO L290 TraceCheckUtils]: 11: Hoare triple {116331#(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; {116332#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:42:52,825 INFO L290 TraceCheckUtils]: 10: Hoare triple {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:42:52,825 INFO L290 TraceCheckUtils]: 9: Hoare triple {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:42:52,825 INFO L290 TraceCheckUtils]: 8: Hoare triple {116281#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {116331#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:42:52,826 INFO L272 TraceCheckUtils]: 7: Hoare triple {116281#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {116281#true} is VALID [2022-04-27 11:42:52,826 INFO L290 TraceCheckUtils]: 6: Hoare triple {116281#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {116281#true} is VALID [2022-04-27 11:42:52,826 INFO L290 TraceCheckUtils]: 5: Hoare triple {116281#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {116281#true} is VALID [2022-04-27 11:42:52,826 INFO L272 TraceCheckUtils]: 4: Hoare triple {116281#true} call #t~ret10 := main(); {116281#true} is VALID [2022-04-27 11:42:52,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {116281#true} {116281#true} #117#return; {116281#true} is VALID [2022-04-27 11:42:52,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {116281#true} assume true; {116281#true} is VALID [2022-04-27 11:42:52,826 INFO L290 TraceCheckUtils]: 1: Hoare triple {116281#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {116281#true} is VALID [2022-04-27 11:42:52,826 INFO L272 TraceCheckUtils]: 0: Hoare triple {116281#true} call ULTIMATE.init(); {116281#true} is VALID [2022-04-27 11:42:52,826 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 0 proven. 92 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-27 11:42:52,826 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1335251721] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:42:52,826 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:42:52,826 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [35, 34, 34] total 41 [2022-04-27 11:42:52,826 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [769720205] [2022-04-27 11:42:52,827 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:42:52,827 INFO L78 Accepts]: Start accepts. Automaton has has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 53 [2022-04-27 11:42:52,827 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:42:52,827 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:42:52,869 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-27 11:42:52,869 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 41 states [2022-04-27 11:42:52,869 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:42:52,870 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 41 interpolants. [2022-04-27 11:42:52,870 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=1551, Unknown=0, NotChecked=0, Total=1640 [2022-04-27 11:42:52,870 INFO L87 Difference]: Start difference. First operand 618 states and 695 transitions. Second operand has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:02,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:43:02,730 INFO L93 Difference]: Finished difference Result 718 states and 808 transitions. [2022-04-27 11:43:02,730 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2022-04-27 11:43:02,730 INFO L78 Accepts]: Start accepts. Automaton has has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 53 [2022-04-27 11:43:02,730 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:43:02,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:02,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 206 transitions. [2022-04-27 11:43:02,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:02,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 206 transitions. [2022-04-27 11:43:02,733 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 206 transitions. [2022-04-27 11:43:02,839 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 206 edges. 206 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:43:02,864 INFO L225 Difference]: With dead ends: 718 [2022-04-27 11:43:02,864 INFO L226 Difference]: Without dead ends: 712 [2022-04-27 11:43:02,867 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 177 GetRequests, 100 SyntacticMatches, 5 SemanticMatches, 72 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 733 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=253, Invalid=5149, Unknown=0, NotChecked=0, Total=5402 [2022-04-27 11:43:02,867 INFO L413 NwaCegarLoop]: 109 mSDtfsCounter, 241 mSDsluCounter, 162 mSDsCounter, 0 mSdLazyCounter, 5301 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 251 SdHoareTripleChecker+Valid, 271 SdHoareTripleChecker+Invalid, 5351 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 5301 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.8s IncrementalHoareTripleChecker+Time [2022-04-27 11:43:02,867 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [251 Valid, 271 Invalid, 5351 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 5301 Invalid, 0 Unknown, 0 Unchecked, 2.8s Time] [2022-04-27 11:43:02,868 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 712 states. [2022-04-27 11:43:06,358 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 712 to 634. [2022-04-27 11:43:06,359 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:43:06,359 INFO L82 GeneralOperation]: Start isEquivalent. First operand 712 states. Second operand has 634 states, 550 states have (on average 1.1454545454545455) internal successors, (630), 600 states have internal predecessors, (630), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (54), 28 states have call predecessors, (54), 28 states have call successors, (54) [2022-04-27 11:43:06,360 INFO L74 IsIncluded]: Start isIncluded. First operand 712 states. Second operand has 634 states, 550 states have (on average 1.1454545454545455) internal successors, (630), 600 states have internal predecessors, (630), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (54), 28 states have call predecessors, (54), 28 states have call successors, (54) [2022-04-27 11:43:06,360 INFO L87 Difference]: Start difference. First operand 712 states. Second operand has 634 states, 550 states have (on average 1.1454545454545455) internal successors, (630), 600 states have internal predecessors, (630), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (54), 28 states have call predecessors, (54), 28 states have call successors, (54) [2022-04-27 11:43:06,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:43:06,376 INFO L93 Difference]: Finished difference Result 712 states and 802 transitions. [2022-04-27 11:43:06,377 INFO L276 IsEmpty]: Start isEmpty. Operand 712 states and 802 transitions. [2022-04-27 11:43:06,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:43:06,380 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:43:06,380 INFO L74 IsIncluded]: Start isIncluded. First operand has 634 states, 550 states have (on average 1.1454545454545455) internal successors, (630), 600 states have internal predecessors, (630), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (54), 28 states have call predecessors, (54), 28 states have call successors, (54) Second operand 712 states. [2022-04-27 11:43:06,380 INFO L87 Difference]: Start difference. First operand has 634 states, 550 states have (on average 1.1454545454545455) internal successors, (630), 600 states have internal predecessors, (630), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (54), 28 states have call predecessors, (54), 28 states have call successors, (54) Second operand 712 states. [2022-04-27 11:43:06,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:43:06,397 INFO L93 Difference]: Finished difference Result 712 states and 802 transitions. [2022-04-27 11:43:06,397 INFO L276 IsEmpty]: Start isEmpty. Operand 712 states and 802 transitions. [2022-04-27 11:43:06,400 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:43:06,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:43:06,400 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:43:06,400 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:43:06,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 634 states, 550 states have (on average 1.1454545454545455) internal successors, (630), 600 states have internal predecessors, (630), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (54), 28 states have call predecessors, (54), 28 states have call successors, (54) [2022-04-27 11:43:06,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 634 states to 634 states and 714 transitions. [2022-04-27 11:43:06,419 INFO L78 Accepts]: Start accepts. Automaton has 634 states and 714 transitions. Word has length 53 [2022-04-27 11:43:06,419 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:43:06,419 INFO L495 AbstractCegarLoop]: Abstraction has 634 states and 714 transitions. [2022-04-27 11:43:06,420 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:06,420 INFO L276 IsEmpty]: Start isEmpty. Operand 634 states and 714 transitions. [2022-04-27 11:43:06,424 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-27 11:43:06,424 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:43:06,424 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:43:06,440 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (62)] Forceful destruction successful, exit code 0 [2022-04-27 11:43:06,640 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable70,62 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:43:06,640 INFO L420 AbstractCegarLoop]: === Iteration 72 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:43:06,641 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:43:06,641 INFO L85 PathProgramCache]: Analyzing trace with hash -839303187, now seen corresponding path program 62 times [2022-04-27 11:43:06,641 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:43:06,641 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [707288276] [2022-04-27 11:43:06,641 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:43:06,641 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:43:06,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:06,726 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:43:06,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:06,728 INFO L290 TraceCheckUtils]: 0: Hoare triple {120193#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {120144#true} is VALID [2022-04-27 11:43:06,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {120144#true} assume true; {120144#true} is VALID [2022-04-27 11:43:06,728 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {120144#true} {120144#true} #117#return; {120144#true} is VALID [2022-04-27 11:43:06,728 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:43:06,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:06,846 INFO L290 TraceCheckUtils]: 0: Hoare triple {120144#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:06,846 INFO L290 TraceCheckUtils]: 1: Hoare triple {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:06,846 INFO L290 TraceCheckUtils]: 2: Hoare triple {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:06,847 INFO L290 TraceCheckUtils]: 3: Hoare triple {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:06,847 INFO L290 TraceCheckUtils]: 4: Hoare triple {120194#(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; {120195#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:06,847 INFO L290 TraceCheckUtils]: 5: Hoare triple {120195#(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; {120196#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:43:06,848 INFO L290 TraceCheckUtils]: 6: Hoare triple {120196#(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; {120197#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:06,848 INFO L290 TraceCheckUtils]: 7: Hoare triple {120197#(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; {120198#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:43:06,848 INFO L290 TraceCheckUtils]: 8: Hoare triple {120198#(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; {120199#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:43:06,849 INFO L290 TraceCheckUtils]: 9: Hoare triple {120199#(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; {120200#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:43:06,849 INFO L290 TraceCheckUtils]: 10: Hoare triple {120200#(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; {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:43:06,849 INFO L290 TraceCheckUtils]: 11: Hoare triple {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:43:06,849 INFO L290 TraceCheckUtils]: 12: Hoare triple {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {120202#(and (<= 14 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 14))} is VALID [2022-04-27 11:43:06,850 INFO L290 TraceCheckUtils]: 13: Hoare triple {120202#(and (<= 14 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 14))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {120203#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 14) (<= 14 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:43:06,850 INFO L290 TraceCheckUtils]: 14: Hoare triple {120203#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 14) (<= 14 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-27 11:43:06,850 INFO L290 TraceCheckUtils]: 15: Hoare triple {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} assume !(~x~0 < ~i~0); {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-27 11:43:06,851 INFO L290 TraceCheckUtils]: 16: Hoare triple {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} #res := ~y~0; {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-27 11:43:06,851 INFO L290 TraceCheckUtils]: 17: Hoare triple {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} assume true; {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-27 11:43:06,851 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} {120144#true} #111#return; {120168#(and (<= |main_#t~ret8| 14) (<= 14 |main_#t~ret8|))} is VALID [2022-04-27 11:43:06,851 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-27 11:43:06,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:07,038 INFO L290 TraceCheckUtils]: 0: Hoare triple {120144#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:07,038 INFO L290 TraceCheckUtils]: 1: Hoare triple {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:07,038 INFO L290 TraceCheckUtils]: 2: Hoare triple {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:07,038 INFO L290 TraceCheckUtils]: 3: Hoare triple {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:07,039 INFO L290 TraceCheckUtils]: 4: Hoare triple {120206#(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; {120207#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:07,039 INFO L290 TraceCheckUtils]: 5: Hoare triple {120207#(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; {120208#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:43:07,040 INFO L290 TraceCheckUtils]: 6: Hoare triple {120208#(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; {120209#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:07,040 INFO L290 TraceCheckUtils]: 7: Hoare triple {120209#(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; {120210#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:43:07,040 INFO L290 TraceCheckUtils]: 8: Hoare triple {120210#(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; {120211#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:43:07,041 INFO L290 TraceCheckUtils]: 9: Hoare triple {120211#(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; {120212#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:43:07,041 INFO L290 TraceCheckUtils]: 10: Hoare triple {120212#(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; {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:43:07,041 INFO L290 TraceCheckUtils]: 11: Hoare triple {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:43:07,041 INFO L290 TraceCheckUtils]: 12: Hoare triple {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {120214#(and (<= 14 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 14))} is VALID [2022-04-27 11:43:07,042 INFO L290 TraceCheckUtils]: 13: Hoare triple {120214#(and (<= 14 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 14))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {120215#(and (<= 14 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 14))} is VALID [2022-04-27 11:43:07,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {120215#(and (<= 14 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 14))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-27 11:43:07,042 INFO L290 TraceCheckUtils]: 15: Hoare triple {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} assume !(~x~1 < ~i~1); {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-27 11:43:07,043 INFO L290 TraceCheckUtils]: 16: Hoare triple {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} #res := ~y~1; {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-27 11:43:07,043 INFO L290 TraceCheckUtils]: 17: Hoare triple {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} assume true; {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-27 11:43:07,043 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} {120169#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} #113#return; {120189#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:43:07,044 INFO L272 TraceCheckUtils]: 0: Hoare triple {120144#true} call ULTIMATE.init(); {120193#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:43:07,044 INFO L290 TraceCheckUtils]: 1: Hoare triple {120193#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {120144#true} is VALID [2022-04-27 11:43:07,044 INFO L290 TraceCheckUtils]: 2: Hoare triple {120144#true} assume true; {120144#true} is VALID [2022-04-27 11:43:07,044 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {120144#true} {120144#true} #117#return; {120144#true} is VALID [2022-04-27 11:43:07,044 INFO L272 TraceCheckUtils]: 4: Hoare triple {120144#true} call #t~ret10 := main(); {120144#true} is VALID [2022-04-27 11:43:07,044 INFO L290 TraceCheckUtils]: 5: Hoare triple {120144#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {120144#true} is VALID [2022-04-27 11:43:07,044 INFO L290 TraceCheckUtils]: 6: Hoare triple {120144#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {120144#true} is VALID [2022-04-27 11:43:07,044 INFO L272 TraceCheckUtils]: 7: Hoare triple {120144#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {120144#true} is VALID [2022-04-27 11:43:07,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {120144#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:07,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:07,045 INFO L290 TraceCheckUtils]: 10: Hoare triple {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:07,045 INFO L290 TraceCheckUtils]: 11: Hoare triple {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:07,045 INFO L290 TraceCheckUtils]: 12: Hoare triple {120194#(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; {120195#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:07,046 INFO L290 TraceCheckUtils]: 13: Hoare triple {120195#(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; {120196#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:43:07,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {120196#(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; {120197#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:07,046 INFO L290 TraceCheckUtils]: 15: Hoare triple {120197#(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; {120198#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:43:07,047 INFO L290 TraceCheckUtils]: 16: Hoare triple {120198#(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; {120199#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:43:07,047 INFO L290 TraceCheckUtils]: 17: Hoare triple {120199#(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; {120200#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:43:07,047 INFO L290 TraceCheckUtils]: 18: Hoare triple {120200#(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; {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:43:07,048 INFO L290 TraceCheckUtils]: 19: Hoare triple {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:43:07,048 INFO L290 TraceCheckUtils]: 20: Hoare triple {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {120202#(and (<= 14 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 14))} is VALID [2022-04-27 11:43:07,048 INFO L290 TraceCheckUtils]: 21: Hoare triple {120202#(and (<= 14 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 14))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {120203#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 14) (<= 14 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:43:07,049 INFO L290 TraceCheckUtils]: 22: Hoare triple {120203#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 14) (<= 14 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-27 11:43:07,049 INFO L290 TraceCheckUtils]: 23: Hoare triple {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} assume !(~x~0 < ~i~0); {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-27 11:43:07,049 INFO L290 TraceCheckUtils]: 24: Hoare triple {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} #res := ~y~0; {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-27 11:43:07,049 INFO L290 TraceCheckUtils]: 25: Hoare triple {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} assume true; {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-27 11:43:07,050 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} {120144#true} #111#return; {120168#(and (<= |main_#t~ret8| 14) (<= 14 |main_#t~ret8|))} is VALID [2022-04-27 11:43:07,050 INFO L290 TraceCheckUtils]: 27: Hoare triple {120168#(and (<= |main_#t~ret8| 14) (<= 14 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {120169#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} is VALID [2022-04-27 11:43:07,050 INFO L272 TraceCheckUtils]: 28: Hoare triple {120169#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {120144#true} is VALID [2022-04-27 11:43:07,050 INFO L290 TraceCheckUtils]: 29: Hoare triple {120144#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:07,050 INFO L290 TraceCheckUtils]: 30: Hoare triple {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:07,051 INFO L290 TraceCheckUtils]: 31: Hoare triple {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:07,051 INFO L290 TraceCheckUtils]: 32: Hoare triple {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:07,051 INFO L290 TraceCheckUtils]: 33: Hoare triple {120206#(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; {120207#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:07,052 INFO L290 TraceCheckUtils]: 34: Hoare triple {120207#(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; {120208#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:43:07,052 INFO L290 TraceCheckUtils]: 35: Hoare triple {120208#(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; {120209#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:07,052 INFO L290 TraceCheckUtils]: 36: Hoare triple {120209#(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; {120210#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:43:07,053 INFO L290 TraceCheckUtils]: 37: Hoare triple {120210#(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; {120211#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:43:07,053 INFO L290 TraceCheckUtils]: 38: Hoare triple {120211#(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; {120212#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:43:07,053 INFO L290 TraceCheckUtils]: 39: Hoare triple {120212#(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; {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:43:07,053 INFO L290 TraceCheckUtils]: 40: Hoare triple {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:43:07,054 INFO L290 TraceCheckUtils]: 41: Hoare triple {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {120214#(and (<= 14 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 14))} is VALID [2022-04-27 11:43:07,054 INFO L290 TraceCheckUtils]: 42: Hoare triple {120214#(and (<= 14 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 14))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {120215#(and (<= 14 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 14))} is VALID [2022-04-27 11:43:07,054 INFO L290 TraceCheckUtils]: 43: Hoare triple {120215#(and (<= 14 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 14))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-27 11:43:07,055 INFO L290 TraceCheckUtils]: 44: Hoare triple {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} assume !(~x~1 < ~i~1); {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-27 11:43:07,055 INFO L290 TraceCheckUtils]: 45: Hoare triple {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} #res := ~y~1; {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-27 11:43:07,055 INFO L290 TraceCheckUtils]: 46: Hoare triple {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} assume true; {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-27 11:43:07,056 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} {120169#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} #113#return; {120189#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:43:07,056 INFO L290 TraceCheckUtils]: 48: Hoare triple {120189#(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; {120190#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:43:07,056 INFO L272 TraceCheckUtils]: 49: Hoare triple {120190#(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)); {120191#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:43:07,057 INFO L290 TraceCheckUtils]: 50: Hoare triple {120191#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {120192#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:43:07,057 INFO L290 TraceCheckUtils]: 51: Hoare triple {120192#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {120145#false} is VALID [2022-04-27 11:43:07,057 INFO L290 TraceCheckUtils]: 52: Hoare triple {120145#false} assume !false; {120145#false} is VALID [2022-04-27 11:43:07,057 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 0 proven. 62 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 11:43:07,057 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:43:07,057 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [707288276] [2022-04-27 11:43:07,057 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [707288276] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:43:07,057 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [875402449] [2022-04-27 11:43:07,057 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:43:07,057 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:43:07,058 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:43:07,059 INFO L229 MonitoredProcess]: Starting monitored process 63 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:43:07,064 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (63)] Waiting until timeout for monitored process [2022-04-27 11:43:07,141 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:43:07,141 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:43:07,142 INFO L263 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 59 conjunts are in the unsatisfiable core [2022-04-27 11:43:07,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:07,150 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:43:07,698 INFO L272 TraceCheckUtils]: 0: Hoare triple {120144#true} call ULTIMATE.init(); {120144#true} is VALID [2022-04-27 11:43:07,699 INFO L290 TraceCheckUtils]: 1: Hoare triple {120144#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {120144#true} is VALID [2022-04-27 11:43:07,699 INFO L290 TraceCheckUtils]: 2: Hoare triple {120144#true} assume true; {120144#true} is VALID [2022-04-27 11:43:07,699 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {120144#true} {120144#true} #117#return; {120144#true} is VALID [2022-04-27 11:43:07,699 INFO L272 TraceCheckUtils]: 4: Hoare triple {120144#true} call #t~ret10 := main(); {120144#true} is VALID [2022-04-27 11:43:07,699 INFO L290 TraceCheckUtils]: 5: Hoare triple {120144#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {120144#true} is VALID [2022-04-27 11:43:07,699 INFO L290 TraceCheckUtils]: 6: Hoare triple {120144#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {120144#true} is VALID [2022-04-27 11:43:07,699 INFO L272 TraceCheckUtils]: 7: Hoare triple {120144#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {120144#true} is VALID [2022-04-27 11:43:07,699 INFO L290 TraceCheckUtils]: 8: Hoare triple {120144#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:07,700 INFO L290 TraceCheckUtils]: 9: Hoare triple {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:07,700 INFO L290 TraceCheckUtils]: 10: Hoare triple {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:07,700 INFO L290 TraceCheckUtils]: 11: Hoare triple {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:07,701 INFO L290 TraceCheckUtils]: 12: Hoare triple {120194#(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; {120195#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:07,701 INFO L290 TraceCheckUtils]: 13: Hoare triple {120195#(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; {120196#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:43:07,702 INFO L290 TraceCheckUtils]: 14: Hoare triple {120196#(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; {120197#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:07,702 INFO L290 TraceCheckUtils]: 15: Hoare triple {120197#(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; {120198#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:43:07,703 INFO L290 TraceCheckUtils]: 16: Hoare triple {120198#(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; {120199#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:43:07,703 INFO L290 TraceCheckUtils]: 17: Hoare triple {120199#(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; {120200#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:43:07,704 INFO L290 TraceCheckUtils]: 18: Hoare triple {120200#(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; {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:43:07,704 INFO L290 TraceCheckUtils]: 19: Hoare triple {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:43:07,704 INFO L290 TraceCheckUtils]: 20: Hoare triple {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {120281#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7) (= correct_version_~y~0 0))} is VALID [2022-04-27 11:43:07,705 INFO L290 TraceCheckUtils]: 21: Hoare triple {120281#(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; {120285#(and (= correct_version_~j~0 correct_version_~y~0) (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:43:07,705 INFO L290 TraceCheckUtils]: 22: Hoare triple {120285#(and (= correct_version_~j~0 correct_version_~y~0) (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-27 11:43:07,706 INFO L290 TraceCheckUtils]: 23: Hoare triple {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} assume !(~x~0 < ~i~0); {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-27 11:43:07,706 INFO L290 TraceCheckUtils]: 24: Hoare triple {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} #res := ~y~0; {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-27 11:43:07,706 INFO L290 TraceCheckUtils]: 25: Hoare triple {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} assume true; {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-27 11:43:07,707 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} {120144#true} #111#return; {120168#(and (<= |main_#t~ret8| 14) (<= 14 |main_#t~ret8|))} is VALID [2022-04-27 11:43:07,707 INFO L290 TraceCheckUtils]: 27: Hoare triple {120168#(and (<= |main_#t~ret8| 14) (<= 14 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {120169#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} is VALID [2022-04-27 11:43:07,707 INFO L272 TraceCheckUtils]: 28: Hoare triple {120169#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {120144#true} is VALID [2022-04-27 11:43:07,708 INFO L290 TraceCheckUtils]: 29: Hoare triple {120144#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:07,708 INFO L290 TraceCheckUtils]: 30: Hoare triple {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:07,708 INFO L290 TraceCheckUtils]: 31: Hoare triple {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:07,709 INFO L290 TraceCheckUtils]: 32: Hoare triple {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:07,709 INFO L290 TraceCheckUtils]: 33: Hoare triple {120206#(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; {120207#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:07,709 INFO L290 TraceCheckUtils]: 34: Hoare triple {120207#(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; {120208#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:43:07,710 INFO L290 TraceCheckUtils]: 35: Hoare triple {120208#(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; {120209#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:07,710 INFO L290 TraceCheckUtils]: 36: Hoare triple {120209#(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; {120210#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:43:07,710 INFO L290 TraceCheckUtils]: 37: Hoare triple {120210#(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; {120211#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:43:07,711 INFO L290 TraceCheckUtils]: 38: Hoare triple {120211#(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; {120212#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:43:07,711 INFO L290 TraceCheckUtils]: 39: Hoare triple {120212#(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; {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:43:07,711 INFO L290 TraceCheckUtils]: 40: Hoare triple {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:43:07,712 INFO L290 TraceCheckUtils]: 41: Hoare triple {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {120346#(and (= student_version_~y~1 0) (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:43:07,712 INFO L290 TraceCheckUtils]: 42: Hoare triple {120346#(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; {120350#(and (<= student_version_~j~1 7) (= student_version_~j~1 student_version_~y~1) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:43:07,712 INFO L290 TraceCheckUtils]: 43: Hoare triple {120350#(and (<= student_version_~j~1 7) (= student_version_~j~1 student_version_~y~1) (<= 7 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-27 11:43:07,713 INFO L290 TraceCheckUtils]: 44: Hoare triple {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} assume !(~x~1 < ~i~1); {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-27 11:43:07,713 INFO L290 TraceCheckUtils]: 45: Hoare triple {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} #res := ~y~1; {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-27 11:43:07,713 INFO L290 TraceCheckUtils]: 46: Hoare triple {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} assume true; {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-27 11:43:07,713 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} {120169#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} #113#return; {120366#(and (<= 14 main_~n_stones1~0) (<= 14 |main_#t~ret9|) (<= main_~n_stones1~0 14) (<= |main_#t~ret9| 14))} is VALID [2022-04-27 11:43:07,714 INFO L290 TraceCheckUtils]: 48: Hoare triple {120366#(and (<= 14 main_~n_stones1~0) (<= 14 |main_#t~ret9|) (<= main_~n_stones1~0 14) (<= |main_#t~ret9| 14))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {120370#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones2~0 14) (<= 14 main_~n_stones2~0) (<= main_~n_stones1~0 14))} is VALID [2022-04-27 11:43:07,714 INFO L272 TraceCheckUtils]: 49: Hoare triple {120370#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones2~0 14) (<= 14 main_~n_stones2~0) (<= main_~n_stones1~0 14))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {120374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:43:07,714 INFO L290 TraceCheckUtils]: 50: Hoare triple {120374#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {120378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:43:07,715 INFO L290 TraceCheckUtils]: 51: Hoare triple {120378#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {120145#false} is VALID [2022-04-27 11:43:07,715 INFO L290 TraceCheckUtils]: 52: Hoare triple {120145#false} assume !false; {120145#false} is VALID [2022-04-27 11:43:07,715 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 0 proven. 62 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 11:43:07,715 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:43:08,025 INFO L290 TraceCheckUtils]: 52: Hoare triple {120145#false} assume !false; {120145#false} is VALID [2022-04-27 11:43:08,026 INFO L290 TraceCheckUtils]: 51: Hoare triple {120378#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {120145#false} is VALID [2022-04-27 11:43:08,026 INFO L290 TraceCheckUtils]: 50: Hoare triple {120374#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {120378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:43:08,026 INFO L272 TraceCheckUtils]: 49: Hoare triple {120190#(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)); {120374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:43:08,026 INFO L290 TraceCheckUtils]: 48: Hoare triple {120189#(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; {120190#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:43:08,027 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} {120169#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} #113#return; {120189#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:43:08,027 INFO L290 TraceCheckUtils]: 46: Hoare triple {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} assume true; {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-27 11:43:08,028 INFO L290 TraceCheckUtils]: 45: Hoare triple {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} #res := ~y~1; {120217#(and (<= 14 |student_version_#res|) (<= |student_version_#res| 14))} is VALID [2022-04-27 11:43:08,028 INFO L290 TraceCheckUtils]: 44: Hoare triple {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} assume !(~x~1 < ~i~1); {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-27 11:43:08,029 INFO L290 TraceCheckUtils]: 43: Hoare triple {120215#(and (<= 14 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 14))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {120216#(and (<= student_version_~y~1 14) (<= 14 student_version_~y~1))} is VALID [2022-04-27 11:43:08,029 INFO L290 TraceCheckUtils]: 42: Hoare triple {120214#(and (<= 14 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 14))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {120215#(and (<= 14 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 14))} is VALID [2022-04-27 11:43:08,030 INFO L290 TraceCheckUtils]: 41: Hoare triple {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {120214#(and (<= 14 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 14))} is VALID [2022-04-27 11:43:08,030 INFO L290 TraceCheckUtils]: 40: Hoare triple {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:43:08,030 INFO L290 TraceCheckUtils]: 39: Hoare triple {120212#(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; {120213#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:43:08,031 INFO L290 TraceCheckUtils]: 38: Hoare triple {120211#(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; {120212#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:43:08,031 INFO L290 TraceCheckUtils]: 37: Hoare triple {120210#(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; {120211#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:43:08,031 INFO L290 TraceCheckUtils]: 36: Hoare triple {120209#(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; {120210#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:43:08,032 INFO L290 TraceCheckUtils]: 35: Hoare triple {120208#(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; {120209#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:08,032 INFO L290 TraceCheckUtils]: 34: Hoare triple {120207#(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; {120208#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:43:08,032 INFO L290 TraceCheckUtils]: 33: Hoare triple {120206#(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; {120207#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:08,033 INFO L290 TraceCheckUtils]: 32: Hoare triple {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:08,033 INFO L290 TraceCheckUtils]: 31: Hoare triple {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:08,033 INFO L290 TraceCheckUtils]: 30: Hoare triple {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:08,033 INFO L290 TraceCheckUtils]: 29: Hoare triple {120144#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {120206#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:08,033 INFO L272 TraceCheckUtils]: 28: Hoare triple {120169#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {120144#true} is VALID [2022-04-27 11:43:08,034 INFO L290 TraceCheckUtils]: 27: Hoare triple {120168#(and (<= |main_#t~ret8| 14) (<= 14 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {120169#(and (<= 14 main_~n_stones1~0) (<= main_~n_stones1~0 14))} is VALID [2022-04-27 11:43:08,034 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} {120144#true} #111#return; {120168#(and (<= |main_#t~ret8| 14) (<= 14 |main_#t~ret8|))} is VALID [2022-04-27 11:43:08,034 INFO L290 TraceCheckUtils]: 25: Hoare triple {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} assume true; {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-27 11:43:08,035 INFO L290 TraceCheckUtils]: 24: Hoare triple {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} #res := ~y~0; {120205#(and (<= |correct_version_#res| 14) (<= 14 |correct_version_#res|))} is VALID [2022-04-27 11:43:08,035 INFO L290 TraceCheckUtils]: 23: Hoare triple {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} assume !(~x~0 < ~i~0); {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-27 11:43:08,035 INFO L290 TraceCheckUtils]: 22: Hoare triple {120203#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 14) (<= 14 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {120204#(and (<= correct_version_~y~0 14) (<= 14 correct_version_~y~0))} is VALID [2022-04-27 11:43:08,035 INFO L290 TraceCheckUtils]: 21: Hoare triple {120202#(and (<= 14 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 14))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {120203#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 14) (<= 14 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:43:08,036 INFO L290 TraceCheckUtils]: 20: Hoare triple {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {120202#(and (<= 14 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 14))} is VALID [2022-04-27 11:43:08,036 INFO L290 TraceCheckUtils]: 19: Hoare triple {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:43:08,036 INFO L290 TraceCheckUtils]: 18: Hoare triple {120200#(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; {120201#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:43:08,037 INFO L290 TraceCheckUtils]: 17: Hoare triple {120199#(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; {120200#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:43:08,037 INFO L290 TraceCheckUtils]: 16: Hoare triple {120198#(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; {120199#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:43:08,037 INFO L290 TraceCheckUtils]: 15: Hoare triple {120197#(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; {120198#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:43:08,038 INFO L290 TraceCheckUtils]: 14: Hoare triple {120196#(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; {120197#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:08,038 INFO L290 TraceCheckUtils]: 13: Hoare triple {120195#(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; {120196#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:43:08,038 INFO L290 TraceCheckUtils]: 12: Hoare triple {120194#(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; {120195#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:08,039 INFO L290 TraceCheckUtils]: 11: Hoare triple {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:08,039 INFO L290 TraceCheckUtils]: 10: Hoare triple {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:08,039 INFO L290 TraceCheckUtils]: 9: Hoare triple {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:08,039 INFO L290 TraceCheckUtils]: 8: Hoare triple {120144#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {120194#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:08,039 INFO L272 TraceCheckUtils]: 7: Hoare triple {120144#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {120144#true} is VALID [2022-04-27 11:43:08,039 INFO L290 TraceCheckUtils]: 6: Hoare triple {120144#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {120144#true} is VALID [2022-04-27 11:43:08,039 INFO L290 TraceCheckUtils]: 5: Hoare triple {120144#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {120144#true} is VALID [2022-04-27 11:43:08,039 INFO L272 TraceCheckUtils]: 4: Hoare triple {120144#true} call #t~ret10 := main(); {120144#true} is VALID [2022-04-27 11:43:08,040 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {120144#true} {120144#true} #117#return; {120144#true} is VALID [2022-04-27 11:43:08,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {120144#true} assume true; {120144#true} is VALID [2022-04-27 11:43:08,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {120144#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {120144#true} is VALID [2022-04-27 11:43:08,040 INFO L272 TraceCheckUtils]: 0: Hoare triple {120144#true} call ULTIMATE.init(); {120144#true} is VALID [2022-04-27 11:43:08,040 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 0 proven. 62 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 11:43:08,040 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [875402449] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:43:08,040 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:43:08,040 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [33, 32, 32] total 41 [2022-04-27 11:43:08,040 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2137762125] [2022-04-27 11:43:08,040 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:43:08,041 INFO L78 Accepts]: Start accepts. Automaton has has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 53 [2022-04-27 11:43:08,041 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:43:08,041 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:08,066 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-27 11:43:08,067 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 41 states [2022-04-27 11:43:08,067 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:43:08,067 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 41 interpolants. [2022-04-27 11:43:08,067 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=1547, Unknown=0, NotChecked=0, Total=1640 [2022-04-27 11:43:08,067 INFO L87 Difference]: Start difference. First operand 634 states and 714 transitions. Second operand has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:17,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:43:17,420 INFO L93 Difference]: Finished difference Result 640 states and 719 transitions. [2022-04-27 11:43:17,421 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-27 11:43:17,421 INFO L78 Accepts]: Start accepts. Automaton has has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 53 [2022-04-27 11:43:17,421 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:43:17,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:17,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 172 transitions. [2022-04-27 11:43:17,422 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:17,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 172 transitions. [2022-04-27 11:43:17,423 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 172 transitions. [2022-04-27 11:43:17,563 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:43:17,582 INFO L225 Difference]: With dead ends: 640 [2022-04-27 11:43:17,582 INFO L226 Difference]: Without dead ends: 618 [2022-04-27 11:43:17,585 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 94 SyntacticMatches, 9 SemanticMatches, 70 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 752 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=255, Invalid=4857, Unknown=0, NotChecked=0, Total=5112 [2022-04-27 11:43:17,586 INFO L413 NwaCegarLoop]: 94 mSDtfsCounter, 173 mSDsluCounter, 167 mSDsCounter, 0 mSdLazyCounter, 4672 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 177 SdHoareTripleChecker+Valid, 261 SdHoareTripleChecker+Invalid, 4707 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 4672 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.5s IncrementalHoareTripleChecker+Time [2022-04-27 11:43:17,586 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [177 Valid, 261 Invalid, 4707 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 4672 Invalid, 0 Unknown, 0 Unchecked, 2.5s Time] [2022-04-27 11:43:17,586 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 618 states. [2022-04-27 11:43:22,175 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 618 to 618. [2022-04-27 11:43:22,175 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:43:22,176 INFO L82 GeneralOperation]: Start isEquivalent. First operand 618 states. Second operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (52), 27 states have call predecessors, (52), 27 states have call successors, (52) [2022-04-27 11:43:22,176 INFO L74 IsIncluded]: Start isIncluded. First operand 618 states. Second operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (52), 27 states have call predecessors, (52), 27 states have call successors, (52) [2022-04-27 11:43:22,176 INFO L87 Difference]: Start difference. First operand 618 states. Second operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (52), 27 states have call predecessors, (52), 27 states have call successors, (52) [2022-04-27 11:43:22,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:43:22,190 INFO L93 Difference]: Finished difference Result 618 states and 696 transitions. [2022-04-27 11:43:22,190 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 696 transitions. [2022-04-27 11:43:22,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:43:22,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:43:22,193 INFO L74 IsIncluded]: Start isIncluded. First operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (52), 27 states have call predecessors, (52), 27 states have call successors, (52) Second operand 618 states. [2022-04-27 11:43:22,193 INFO L87 Difference]: Start difference. First operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (52), 27 states have call predecessors, (52), 27 states have call successors, (52) Second operand 618 states. [2022-04-27 11:43:22,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:43:22,206 INFO L93 Difference]: Finished difference Result 618 states and 696 transitions. [2022-04-27 11:43:22,206 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 696 transitions. [2022-04-27 11:43:22,209 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:43:22,209 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:43:22,209 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:43:22,209 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:43:22,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 618 states, 537 states have (on average 1.1452513966480447) internal successors, (615), 585 states have internal predecessors, (615), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (52), 27 states have call predecessors, (52), 27 states have call successors, (52) [2022-04-27 11:43:22,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 618 states to 618 states and 696 transitions. [2022-04-27 11:43:22,226 INFO L78 Accepts]: Start accepts. Automaton has 618 states and 696 transitions. Word has length 53 [2022-04-27 11:43:22,226 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:43:22,226 INFO L495 AbstractCegarLoop]: Abstraction has 618 states and 696 transitions. [2022-04-27 11:43:22,226 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:22,227 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 696 transitions. [2022-04-27 11:43:22,230 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-27 11:43:22,230 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:43:22,230 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:43:22,246 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (63)] Forceful destruction successful, exit code 0 [2022-04-27 11:43:22,431 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable71,63 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:43:22,432 INFO L420 AbstractCegarLoop]: === Iteration 73 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:43:22,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:43:22,432 INFO L85 PathProgramCache]: Analyzing trace with hash 886283437, now seen corresponding path program 63 times [2022-04-27 11:43:22,432 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:43:22,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [262656465] [2022-04-27 11:43:22,432 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:43:22,432 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:43:22,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:22,540 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:43:22,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:22,542 INFO L290 TraceCheckUtils]: 0: Hoare triple {123726#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {123677#true} is VALID [2022-04-27 11:43:22,542 INFO L290 TraceCheckUtils]: 1: Hoare triple {123677#true} assume true; {123677#true} is VALID [2022-04-27 11:43:22,542 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {123677#true} {123677#true} #117#return; {123677#true} is VALID [2022-04-27 11:43:22,543 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:43:22,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:22,720 INFO L290 TraceCheckUtils]: 0: Hoare triple {123677#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:22,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:22,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:22,721 INFO L290 TraceCheckUtils]: 3: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:22,721 INFO L290 TraceCheckUtils]: 4: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:22,722 INFO L290 TraceCheckUtils]: 5: Hoare triple {123727#(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; {123728#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:22,722 INFO L290 TraceCheckUtils]: 6: Hoare triple {123728#(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; {123729#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:43:22,723 INFO L290 TraceCheckUtils]: 7: Hoare triple {123729#(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; {123730#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:22,723 INFO L290 TraceCheckUtils]: 8: Hoare triple {123730#(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; {123731#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:43:22,723 INFO L290 TraceCheckUtils]: 9: Hoare triple {123731#(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; {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:43:22,724 INFO L290 TraceCheckUtils]: 10: Hoare triple {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:43:22,724 INFO L290 TraceCheckUtils]: 11: Hoare triple {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {123733#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 15))} is VALID [2022-04-27 11:43:22,725 INFO L290 TraceCheckUtils]: 12: Hoare triple {123733#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 15))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {123734#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 15))} is VALID [2022-04-27 11:43:22,725 INFO L290 TraceCheckUtils]: 13: Hoare triple {123734#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 15))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {123735#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 15) (<= 15 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:43:22,726 INFO L290 TraceCheckUtils]: 14: Hoare triple {123735#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 15) (<= 15 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-27 11:43:22,726 INFO L290 TraceCheckUtils]: 15: Hoare triple {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} assume !(~x~0 < ~i~0); {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-27 11:43:22,726 INFO L290 TraceCheckUtils]: 16: Hoare triple {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} #res := ~y~0; {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-27 11:43:22,727 INFO L290 TraceCheckUtils]: 17: Hoare triple {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} assume true; {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-27 11:43:22,727 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} {123677#true} #111#return; {123701#(and (<= 15 |main_#t~ret8|) (<= |main_#t~ret8| 15))} is VALID [2022-04-27 11:43:22,727 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-27 11:43:22,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:22,989 INFO L290 TraceCheckUtils]: 0: Hoare triple {123677#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:22,989 INFO L290 TraceCheckUtils]: 1: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:22,990 INFO L290 TraceCheckUtils]: 2: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:22,990 INFO L290 TraceCheckUtils]: 3: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:22,990 INFO L290 TraceCheckUtils]: 4: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:22,991 INFO L290 TraceCheckUtils]: 5: Hoare triple {123738#(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; {123739#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:22,991 INFO L290 TraceCheckUtils]: 6: Hoare triple {123739#(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; {123740#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:43:22,992 INFO L290 TraceCheckUtils]: 7: Hoare triple {123740#(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; {123741#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:22,992 INFO L290 TraceCheckUtils]: 8: Hoare triple {123741#(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; {123742#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:43:22,993 INFO L290 TraceCheckUtils]: 9: Hoare triple {123742#(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; {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:43:22,993 INFO L290 TraceCheckUtils]: 10: Hoare triple {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:43:22,993 INFO L290 TraceCheckUtils]: 11: Hoare triple {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {123744#(and (<= 15 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 15))} is VALID [2022-04-27 11:43:22,994 INFO L290 TraceCheckUtils]: 12: Hoare triple {123744#(and (<= 15 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 15))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {123745#(and (<= 15 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 15))} is VALID [2022-04-27 11:43:22,994 INFO L290 TraceCheckUtils]: 13: Hoare triple {123745#(and (<= 15 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 15))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {123746#(and (<= (+ student_version_~j~1 student_version_~y~1) 15) (<= 15 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:43:22,995 INFO L290 TraceCheckUtils]: 14: Hoare triple {123746#(and (<= (+ student_version_~j~1 student_version_~y~1) 15) (<= 15 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-27 11:43:22,995 INFO L290 TraceCheckUtils]: 15: Hoare triple {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} assume !(~x~1 < ~i~1); {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-27 11:43:22,996 INFO L290 TraceCheckUtils]: 16: Hoare triple {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} #res := ~y~1; {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-27 11:43:22,996 INFO L290 TraceCheckUtils]: 17: Hoare triple {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} assume true; {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-27 11:43:22,997 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} {123702#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} #113#return; {123722#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:43:22,997 INFO L272 TraceCheckUtils]: 0: Hoare triple {123677#true} call ULTIMATE.init(); {123726#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:43:22,997 INFO L290 TraceCheckUtils]: 1: Hoare triple {123726#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {123677#true} is VALID [2022-04-27 11:43:22,997 INFO L290 TraceCheckUtils]: 2: Hoare triple {123677#true} assume true; {123677#true} is VALID [2022-04-27 11:43:22,997 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {123677#true} {123677#true} #117#return; {123677#true} is VALID [2022-04-27 11:43:22,997 INFO L272 TraceCheckUtils]: 4: Hoare triple {123677#true} call #t~ret10 := main(); {123677#true} is VALID [2022-04-27 11:43:22,997 INFO L290 TraceCheckUtils]: 5: Hoare triple {123677#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {123677#true} is VALID [2022-04-27 11:43:22,997 INFO L290 TraceCheckUtils]: 6: Hoare triple {123677#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {123677#true} is VALID [2022-04-27 11:43:22,998 INFO L272 TraceCheckUtils]: 7: Hoare triple {123677#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {123677#true} is VALID [2022-04-27 11:43:22,998 INFO L290 TraceCheckUtils]: 8: Hoare triple {123677#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:22,998 INFO L290 TraceCheckUtils]: 9: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:22,999 INFO L290 TraceCheckUtils]: 10: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:22,999 INFO L290 TraceCheckUtils]: 11: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:22,999 INFO L290 TraceCheckUtils]: 12: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:23,000 INFO L290 TraceCheckUtils]: 13: Hoare triple {123727#(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; {123728#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:23,000 INFO L290 TraceCheckUtils]: 14: Hoare triple {123728#(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; {123729#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:43:23,001 INFO L290 TraceCheckUtils]: 15: Hoare triple {123729#(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; {123730#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:23,001 INFO L290 TraceCheckUtils]: 16: Hoare triple {123730#(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; {123731#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:43:23,002 INFO L290 TraceCheckUtils]: 17: Hoare triple {123731#(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; {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:43:23,002 INFO L290 TraceCheckUtils]: 18: Hoare triple {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:43:23,002 INFO L290 TraceCheckUtils]: 19: Hoare triple {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {123733#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 15))} is VALID [2022-04-27 11:43:23,003 INFO L290 TraceCheckUtils]: 20: Hoare triple {123733#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 15))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {123734#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 15))} is VALID [2022-04-27 11:43:23,003 INFO L290 TraceCheckUtils]: 21: Hoare triple {123734#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 15))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {123735#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 15) (<= 15 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:43:23,004 INFO L290 TraceCheckUtils]: 22: Hoare triple {123735#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 15) (<= 15 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-27 11:43:23,004 INFO L290 TraceCheckUtils]: 23: Hoare triple {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} assume !(~x~0 < ~i~0); {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-27 11:43:23,004 INFO L290 TraceCheckUtils]: 24: Hoare triple {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} #res := ~y~0; {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-27 11:43:23,005 INFO L290 TraceCheckUtils]: 25: Hoare triple {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} assume true; {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-27 11:43:23,005 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} {123677#true} #111#return; {123701#(and (<= 15 |main_#t~ret8|) (<= |main_#t~ret8| 15))} is VALID [2022-04-27 11:43:23,006 INFO L290 TraceCheckUtils]: 27: Hoare triple {123701#(and (<= 15 |main_#t~ret8|) (<= |main_#t~ret8| 15))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {123702#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} is VALID [2022-04-27 11:43:23,006 INFO L272 TraceCheckUtils]: 28: Hoare triple {123702#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {123677#true} is VALID [2022-04-27 11:43:23,006 INFO L290 TraceCheckUtils]: 29: Hoare triple {123677#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:23,007 INFO L290 TraceCheckUtils]: 30: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:23,007 INFO L290 TraceCheckUtils]: 31: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:23,007 INFO L290 TraceCheckUtils]: 32: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:23,008 INFO L290 TraceCheckUtils]: 33: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:23,008 INFO L290 TraceCheckUtils]: 34: Hoare triple {123738#(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; {123739#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:23,008 INFO L290 TraceCheckUtils]: 35: Hoare triple {123739#(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; {123740#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:43:23,009 INFO L290 TraceCheckUtils]: 36: Hoare triple {123740#(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; {123741#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:23,009 INFO L290 TraceCheckUtils]: 37: Hoare triple {123741#(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; {123742#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:43:23,010 INFO L290 TraceCheckUtils]: 38: Hoare triple {123742#(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; {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:43:23,010 INFO L290 TraceCheckUtils]: 39: Hoare triple {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:43:23,010 INFO L290 TraceCheckUtils]: 40: Hoare triple {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {123744#(and (<= 15 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 15))} is VALID [2022-04-27 11:43:23,011 INFO L290 TraceCheckUtils]: 41: Hoare triple {123744#(and (<= 15 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 15))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {123745#(and (<= 15 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 15))} is VALID [2022-04-27 11:43:23,011 INFO L290 TraceCheckUtils]: 42: Hoare triple {123745#(and (<= 15 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 15))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {123746#(and (<= (+ student_version_~j~1 student_version_~y~1) 15) (<= 15 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:43:23,012 INFO L290 TraceCheckUtils]: 43: Hoare triple {123746#(and (<= (+ student_version_~j~1 student_version_~y~1) 15) (<= 15 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-27 11:43:23,012 INFO L290 TraceCheckUtils]: 44: Hoare triple {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} assume !(~x~1 < ~i~1); {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-27 11:43:23,013 INFO L290 TraceCheckUtils]: 45: Hoare triple {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} #res := ~y~1; {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-27 11:43:23,013 INFO L290 TraceCheckUtils]: 46: Hoare triple {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} assume true; {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-27 11:43:23,014 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} {123702#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} #113#return; {123722#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:43:23,014 INFO L290 TraceCheckUtils]: 48: Hoare triple {123722#(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; {123723#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:43:23,015 INFO L272 TraceCheckUtils]: 49: Hoare triple {123723#(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)); {123724#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:43:23,015 INFO L290 TraceCheckUtils]: 50: Hoare triple {123724#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {123725#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:43:23,015 INFO L290 TraceCheckUtils]: 51: Hoare triple {123725#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {123678#false} is VALID [2022-04-27 11:43:23,015 INFO L290 TraceCheckUtils]: 52: Hoare triple {123678#false} assume !false; {123678#false} is VALID [2022-04-27 11:43:23,015 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 0 proven. 42 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 11:43:23,016 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:43:23,016 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [262656465] [2022-04-27 11:43:23,016 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [262656465] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:43:23,016 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [645087025] [2022-04-27 11:43:23,016 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:43:23,016 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:43:23,016 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:43:23,017 INFO L229 MonitoredProcess]: Starting monitored process 64 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:43:23,018 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (64)] Waiting until timeout for monitored process [2022-04-27 11:43:23,130 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 11:43:23,130 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:43:23,131 INFO L263 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-27 11:43:23,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:23,140 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:43:23,916 INFO L272 TraceCheckUtils]: 0: Hoare triple {123677#true} call ULTIMATE.init(); {123677#true} is VALID [2022-04-27 11:43:23,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {123677#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {123677#true} is VALID [2022-04-27 11:43:23,917 INFO L290 TraceCheckUtils]: 2: Hoare triple {123677#true} assume true; {123677#true} is VALID [2022-04-27 11:43:23,917 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {123677#true} {123677#true} #117#return; {123677#true} is VALID [2022-04-27 11:43:23,917 INFO L272 TraceCheckUtils]: 4: Hoare triple {123677#true} call #t~ret10 := main(); {123677#true} is VALID [2022-04-27 11:43:23,917 INFO L290 TraceCheckUtils]: 5: Hoare triple {123677#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {123677#true} is VALID [2022-04-27 11:43:23,917 INFO L290 TraceCheckUtils]: 6: Hoare triple {123677#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {123677#true} is VALID [2022-04-27 11:43:23,917 INFO L272 TraceCheckUtils]: 7: Hoare triple {123677#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {123677#true} is VALID [2022-04-27 11:43:23,917 INFO L290 TraceCheckUtils]: 8: Hoare triple {123677#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:23,918 INFO L290 TraceCheckUtils]: 9: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:23,918 INFO L290 TraceCheckUtils]: 10: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:23,918 INFO L290 TraceCheckUtils]: 11: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:23,919 INFO L290 TraceCheckUtils]: 12: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:23,919 INFO L290 TraceCheckUtils]: 13: Hoare triple {123727#(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; {123728#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:23,920 INFO L290 TraceCheckUtils]: 14: Hoare triple {123728#(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; {123729#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:43:23,920 INFO L290 TraceCheckUtils]: 15: Hoare triple {123729#(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; {123730#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:23,920 INFO L290 TraceCheckUtils]: 16: Hoare triple {123730#(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; {123731#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:43:23,921 INFO L290 TraceCheckUtils]: 17: Hoare triple {123731#(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; {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:43:23,921 INFO L290 TraceCheckUtils]: 18: Hoare triple {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:43:23,922 INFO L290 TraceCheckUtils]: 19: Hoare triple {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {123809#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 0))} is VALID [2022-04-27 11:43:23,922 INFO L290 TraceCheckUtils]: 20: Hoare triple {123809#(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; {123813#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0))} is VALID [2022-04-27 11:43:23,922 INFO L290 TraceCheckUtils]: 21: Hoare triple {123813#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {123817#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)))} is VALID [2022-04-27 11:43:23,923 INFO L290 TraceCheckUtils]: 22: Hoare triple {123817#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-27 11:43:23,923 INFO L290 TraceCheckUtils]: 23: Hoare triple {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} assume !(~x~0 < ~i~0); {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-27 11:43:23,924 INFO L290 TraceCheckUtils]: 24: Hoare triple {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} #res := ~y~0; {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-27 11:43:23,924 INFO L290 TraceCheckUtils]: 25: Hoare triple {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} assume true; {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-27 11:43:23,925 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} {123677#true} #111#return; {123701#(and (<= 15 |main_#t~ret8|) (<= |main_#t~ret8| 15))} is VALID [2022-04-27 11:43:23,925 INFO L290 TraceCheckUtils]: 27: Hoare triple {123701#(and (<= 15 |main_#t~ret8|) (<= |main_#t~ret8| 15))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {123702#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} is VALID [2022-04-27 11:43:23,925 INFO L272 TraceCheckUtils]: 28: Hoare triple {123702#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {123677#true} is VALID [2022-04-27 11:43:23,925 INFO L290 TraceCheckUtils]: 29: Hoare triple {123677#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:23,926 INFO L290 TraceCheckUtils]: 30: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:23,926 INFO L290 TraceCheckUtils]: 31: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:23,926 INFO L290 TraceCheckUtils]: 32: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:23,927 INFO L290 TraceCheckUtils]: 33: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:23,927 INFO L290 TraceCheckUtils]: 34: Hoare triple {123738#(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; {123739#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:23,928 INFO L290 TraceCheckUtils]: 35: Hoare triple {123739#(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; {123740#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:43:23,928 INFO L290 TraceCheckUtils]: 36: Hoare triple {123740#(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; {123741#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:23,929 INFO L290 TraceCheckUtils]: 37: Hoare triple {123741#(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; {123742#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:43:23,929 INFO L290 TraceCheckUtils]: 38: Hoare triple {123742#(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; {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:43:23,929 INFO L290 TraceCheckUtils]: 39: Hoare triple {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:43:23,930 INFO L290 TraceCheckUtils]: 40: Hoare triple {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {123875#(and (<= student_version_~j~1 5) (= student_version_~y~1 0) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:43:23,930 INFO L290 TraceCheckUtils]: 41: Hoare triple {123875#(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; {123879#(and (<= student_version_~j~1 5) (= student_version_~j~1 student_version_~y~1) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:43:23,931 INFO L290 TraceCheckUtils]: 42: Hoare triple {123879#(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; {123883#(and (<= student_version_~j~1 5) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:43:23,931 INFO L290 TraceCheckUtils]: 43: Hoare triple {123883#(and (<= student_version_~j~1 5) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 5 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-27 11:43:23,931 INFO L290 TraceCheckUtils]: 44: Hoare triple {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} assume !(~x~1 < ~i~1); {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-27 11:43:23,932 INFO L290 TraceCheckUtils]: 45: Hoare triple {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} #res := ~y~1; {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-27 11:43:23,932 INFO L290 TraceCheckUtils]: 46: Hoare triple {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} assume true; {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-27 11:43:23,933 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} {123702#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} #113#return; {123899#(and (<= main_~n_stones1~0 15) (<= 15 |main_#t~ret9|) (<= 15 main_~n_stones1~0) (<= |main_#t~ret9| 15))} is VALID [2022-04-27 11:43:23,933 INFO L290 TraceCheckUtils]: 48: Hoare triple {123899#(and (<= main_~n_stones1~0 15) (<= 15 |main_#t~ret9|) (<= 15 main_~n_stones1~0) (<= |main_#t~ret9| 15))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {123903#(and (<= 15 main_~n_stones2~0) (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0) (<= main_~n_stones2~0 15))} is VALID [2022-04-27 11:43:23,934 INFO L272 TraceCheckUtils]: 49: Hoare triple {123903#(and (<= 15 main_~n_stones2~0) (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0) (<= main_~n_stones2~0 15))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {123907#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:43:23,934 INFO L290 TraceCheckUtils]: 50: Hoare triple {123907#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {123911#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:43:23,934 INFO L290 TraceCheckUtils]: 51: Hoare triple {123911#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {123678#false} is VALID [2022-04-27 11:43:23,934 INFO L290 TraceCheckUtils]: 52: Hoare triple {123678#false} assume !false; {123678#false} is VALID [2022-04-27 11:43:23,935 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 0 proven. 42 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 11:43:23,935 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:43:24,448 INFO L290 TraceCheckUtils]: 52: Hoare triple {123678#false} assume !false; {123678#false} is VALID [2022-04-27 11:43:24,448 INFO L290 TraceCheckUtils]: 51: Hoare triple {123911#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {123678#false} is VALID [2022-04-27 11:43:24,449 INFO L290 TraceCheckUtils]: 50: Hoare triple {123907#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {123911#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:43:24,449 INFO L272 TraceCheckUtils]: 49: Hoare triple {123723#(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)); {123907#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:43:24,449 INFO L290 TraceCheckUtils]: 48: Hoare triple {123722#(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; {123723#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:43:24,450 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} {123702#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} #113#return; {123722#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:43:24,450 INFO L290 TraceCheckUtils]: 46: Hoare triple {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} assume true; {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-27 11:43:24,450 INFO L290 TraceCheckUtils]: 45: Hoare triple {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} #res := ~y~1; {123748#(and (<= |student_version_#res| 15) (<= 15 |student_version_#res|))} is VALID [2022-04-27 11:43:24,451 INFO L290 TraceCheckUtils]: 44: Hoare triple {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} assume !(~x~1 < ~i~1); {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-27 11:43:24,451 INFO L290 TraceCheckUtils]: 43: Hoare triple {123746#(and (<= (+ student_version_~j~1 student_version_~y~1) 15) (<= 15 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {123747#(and (<= 15 student_version_~y~1) (<= student_version_~y~1 15))} is VALID [2022-04-27 11:43:24,452 INFO L290 TraceCheckUtils]: 42: Hoare triple {123745#(and (<= 15 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 15))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {123746#(and (<= (+ student_version_~j~1 student_version_~y~1) 15) (<= 15 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:43:24,452 INFO L290 TraceCheckUtils]: 41: Hoare triple {123744#(and (<= 15 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 15))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {123745#(and (<= 15 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 15))} is VALID [2022-04-27 11:43:24,452 INFO L290 TraceCheckUtils]: 40: Hoare triple {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {123744#(and (<= 15 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 15))} is VALID [2022-04-27 11:43:24,453 INFO L290 TraceCheckUtils]: 39: Hoare triple {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:43:24,453 INFO L290 TraceCheckUtils]: 38: Hoare triple {123742#(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; {123743#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:43:24,453 INFO L290 TraceCheckUtils]: 37: Hoare triple {123741#(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; {123742#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:43:24,454 INFO L290 TraceCheckUtils]: 36: Hoare triple {123740#(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; {123741#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:24,454 INFO L290 TraceCheckUtils]: 35: Hoare triple {123739#(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; {123740#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:43:24,454 INFO L290 TraceCheckUtils]: 34: Hoare triple {123738#(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; {123739#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:24,455 INFO L290 TraceCheckUtils]: 33: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:24,455 INFO L290 TraceCheckUtils]: 32: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:24,455 INFO L290 TraceCheckUtils]: 31: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:24,456 INFO L290 TraceCheckUtils]: 30: Hoare triple {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:24,456 INFO L290 TraceCheckUtils]: 29: Hoare triple {123677#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {123738#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:24,456 INFO L272 TraceCheckUtils]: 28: Hoare triple {123702#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {123677#true} is VALID [2022-04-27 11:43:24,456 INFO L290 TraceCheckUtils]: 27: Hoare triple {123701#(and (<= 15 |main_#t~ret8|) (<= |main_#t~ret8| 15))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {123702#(and (<= main_~n_stones1~0 15) (<= 15 main_~n_stones1~0))} is VALID [2022-04-27 11:43:24,457 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} {123677#true} #111#return; {123701#(and (<= 15 |main_#t~ret8|) (<= |main_#t~ret8| 15))} is VALID [2022-04-27 11:43:24,457 INFO L290 TraceCheckUtils]: 25: Hoare triple {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} assume true; {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-27 11:43:24,457 INFO L290 TraceCheckUtils]: 24: Hoare triple {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} #res := ~y~0; {123737#(and (<= |correct_version_#res| 15) (<= 15 |correct_version_#res|))} is VALID [2022-04-27 11:43:24,457 INFO L290 TraceCheckUtils]: 23: Hoare triple {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} assume !(~x~0 < ~i~0); {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-27 11:43:24,458 INFO L290 TraceCheckUtils]: 22: Hoare triple {123735#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 15) (<= 15 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {123736#(and (<= correct_version_~y~0 15) (<= 15 correct_version_~y~0))} is VALID [2022-04-27 11:43:24,458 INFO L290 TraceCheckUtils]: 21: Hoare triple {123734#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 15))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {123735#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 15) (<= 15 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:43:24,459 INFO L290 TraceCheckUtils]: 20: Hoare triple {123733#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 15))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {123734#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 15))} is VALID [2022-04-27 11:43:24,459 INFO L290 TraceCheckUtils]: 19: Hoare triple {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {123733#(and (<= 15 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 15))} is VALID [2022-04-27 11:43:24,459 INFO L290 TraceCheckUtils]: 18: Hoare triple {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:43:24,460 INFO L290 TraceCheckUtils]: 17: Hoare triple {123731#(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; {123732#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:43:24,460 INFO L290 TraceCheckUtils]: 16: Hoare triple {123730#(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; {123731#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:43:24,460 INFO L290 TraceCheckUtils]: 15: Hoare triple {123729#(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; {123730#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:24,461 INFO L290 TraceCheckUtils]: 14: Hoare triple {123728#(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; {123729#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:43:24,461 INFO L290 TraceCheckUtils]: 13: Hoare triple {123727#(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; {123728#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:24,461 INFO L290 TraceCheckUtils]: 12: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:24,462 INFO L290 TraceCheckUtils]: 11: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:24,462 INFO L290 TraceCheckUtils]: 10: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:24,462 INFO L290 TraceCheckUtils]: 9: Hoare triple {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:24,463 INFO L290 TraceCheckUtils]: 8: Hoare triple {123677#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {123727#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:24,463 INFO L272 TraceCheckUtils]: 7: Hoare triple {123677#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {123677#true} is VALID [2022-04-27 11:43:24,463 INFO L290 TraceCheckUtils]: 6: Hoare triple {123677#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {123677#true} is VALID [2022-04-27 11:43:24,463 INFO L290 TraceCheckUtils]: 5: Hoare triple {123677#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {123677#true} is VALID [2022-04-27 11:43:24,463 INFO L272 TraceCheckUtils]: 4: Hoare triple {123677#true} call #t~ret10 := main(); {123677#true} is VALID [2022-04-27 11:43:24,463 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {123677#true} {123677#true} #117#return; {123677#true} is VALID [2022-04-27 11:43:24,463 INFO L290 TraceCheckUtils]: 2: Hoare triple {123677#true} assume true; {123677#true} is VALID [2022-04-27 11:43:24,463 INFO L290 TraceCheckUtils]: 1: Hoare triple {123677#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {123677#true} is VALID [2022-04-27 11:43:24,463 INFO L272 TraceCheckUtils]: 0: Hoare triple {123677#true} call ULTIMATE.init(); {123677#true} is VALID [2022-04-27 11:43:24,463 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 0 proven. 42 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 11:43:24,463 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [645087025] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:43:24,463 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:43:24,463 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 30, 30] total 41 [2022-04-27 11:43:24,464 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [14044475] [2022-04-27 11:43:24,464 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:43:24,464 INFO L78 Accepts]: Start accepts. Automaton has has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 53 [2022-04-27 11:43:24,464 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:43:24,464 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:24,493 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-27 11:43:24,493 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 41 states [2022-04-27 11:43:24,493 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:43:24,506 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 41 interpolants. [2022-04-27 11:43:24,506 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=1543, Unknown=0, NotChecked=0, Total=1640 [2022-04-27 11:43:24,507 INFO L87 Difference]: Start difference. First operand 618 states and 696 transitions. Second operand has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:31,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:43:31,632 INFO L93 Difference]: Finished difference Result 624 states and 701 transitions. [2022-04-27 11:43:31,633 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-27 11:43:31,633 INFO L78 Accepts]: Start accepts. Automaton has has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 53 [2022-04-27 11:43:31,633 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:43:31,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:31,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 142 transitions. [2022-04-27 11:43:31,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:31,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 142 transitions. [2022-04-27 11:43:31,635 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 142 transitions. [2022-04-27 11:43:31,703 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-27 11:43:31,721 INFO L225 Difference]: With dead ends: 624 [2022-04-27 11:43:31,721 INFO L226 Difference]: Without dead ends: 600 [2022-04-27 11:43:31,724 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 169 GetRequests, 92 SyntacticMatches, 9 SemanticMatches, 68 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 757 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=257, Invalid=4573, Unknown=0, NotChecked=0, Total=4830 [2022-04-27 11:43:31,725 INFO L413 NwaCegarLoop]: 74 mSDtfsCounter, 134 mSDsluCounter, 162 mSDsCounter, 0 mSdLazyCounter, 3610 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 137 SdHoareTripleChecker+Valid, 236 SdHoareTripleChecker+Invalid, 3644 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 3610 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-27 11:43:31,725 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [137 Valid, 236 Invalid, 3644 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 3610 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-27 11:43:31,725 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 600 states. [2022-04-27 11:43:34,963 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 600 to 600. [2022-04-27 11:43:34,963 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:43:34,964 INFO L82 GeneralOperation]: Start isEquivalent. First operand 600 states. Second operand has 600 states, 522 states have (on average 1.1455938697318007) internal successors, (598), 568 states have internal predecessors, (598), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (50), 26 states have call predecessors, (50), 26 states have call successors, (50) [2022-04-27 11:43:34,964 INFO L74 IsIncluded]: Start isIncluded. First operand 600 states. Second operand has 600 states, 522 states have (on average 1.1455938697318007) internal successors, (598), 568 states have internal predecessors, (598), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (50), 26 states have call predecessors, (50), 26 states have call successors, (50) [2022-04-27 11:43:34,965 INFO L87 Difference]: Start difference. First operand 600 states. Second operand has 600 states, 522 states have (on average 1.1455938697318007) internal successors, (598), 568 states have internal predecessors, (598), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (50), 26 states have call predecessors, (50), 26 states have call successors, (50) [2022-04-27 11:43:34,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:43:34,977 INFO L93 Difference]: Finished difference Result 600 states and 676 transitions. [2022-04-27 11:43:34,977 INFO L276 IsEmpty]: Start isEmpty. Operand 600 states and 676 transitions. [2022-04-27 11:43:34,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:43:34,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:43:34,980 INFO L74 IsIncluded]: Start isIncluded. First operand has 600 states, 522 states have (on average 1.1455938697318007) internal successors, (598), 568 states have internal predecessors, (598), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (50), 26 states have call predecessors, (50), 26 states have call successors, (50) Second operand 600 states. [2022-04-27 11:43:34,980 INFO L87 Difference]: Start difference. First operand has 600 states, 522 states have (on average 1.1455938697318007) internal successors, (598), 568 states have internal predecessors, (598), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (50), 26 states have call predecessors, (50), 26 states have call successors, (50) Second operand 600 states. [2022-04-27 11:43:34,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:43:34,992 INFO L93 Difference]: Finished difference Result 600 states and 676 transitions. [2022-04-27 11:43:34,992 INFO L276 IsEmpty]: Start isEmpty. Operand 600 states and 676 transitions. [2022-04-27 11:43:34,994 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:43:34,995 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:43:34,995 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:43:34,995 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:43:34,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 600 states, 522 states have (on average 1.1455938697318007) internal successors, (598), 568 states have internal predecessors, (598), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (50), 26 states have call predecessors, (50), 26 states have call successors, (50) [2022-04-27 11:43:35,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 600 states to 600 states and 676 transitions. [2022-04-27 11:43:35,011 INFO L78 Accepts]: Start accepts. Automaton has 600 states and 676 transitions. Word has length 53 [2022-04-27 11:43:35,012 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:43:35,012 INFO L495 AbstractCegarLoop]: Abstraction has 600 states and 676 transitions. [2022-04-27 11:43:35,012 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:35,012 INFO L276 IsEmpty]: Start isEmpty. Operand 600 states and 676 transitions. [2022-04-27 11:43:35,015 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-27 11:43:35,015 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:43:35,015 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:43:35,033 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (64)] Forceful destruction successful, exit code 0 [2022-04-27 11:43:35,223 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable72,64 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:43:35,223 INFO L420 AbstractCegarLoop]: === Iteration 74 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:43:35,224 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:43:35,224 INFO L85 PathProgramCache]: Analyzing trace with hash -537493523, now seen corresponding path program 64 times [2022-04-27 11:43:35,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:43:35,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1276472321] [2022-04-27 11:43:35,224 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:43:35,224 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:43:35,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:35,309 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:43:35,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:35,311 INFO L290 TraceCheckUtils]: 0: Hoare triple {127169#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {127120#true} is VALID [2022-04-27 11:43:35,311 INFO L290 TraceCheckUtils]: 1: Hoare triple {127120#true} assume true; {127120#true} is VALID [2022-04-27 11:43:35,311 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {127120#true} {127120#true} #117#return; {127120#true} is VALID [2022-04-27 11:43:35,311 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:43:35,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:35,439 INFO L290 TraceCheckUtils]: 0: Hoare triple {127120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:35,440 INFO L290 TraceCheckUtils]: 1: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:35,440 INFO L290 TraceCheckUtils]: 2: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:35,440 INFO L290 TraceCheckUtils]: 3: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:35,441 INFO L290 TraceCheckUtils]: 4: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:35,441 INFO L290 TraceCheckUtils]: 5: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:35,441 INFO L290 TraceCheckUtils]: 6: Hoare triple {127170#(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; {127171#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:35,442 INFO L290 TraceCheckUtils]: 7: Hoare triple {127171#(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; {127172#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:43:35,442 INFO L290 TraceCheckUtils]: 8: Hoare triple {127172#(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; {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:35,442 INFO L290 TraceCheckUtils]: 9: Hoare triple {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:35,442 INFO L290 TraceCheckUtils]: 10: Hoare triple {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {127174#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 12))} is VALID [2022-04-27 11:43:35,443 INFO L290 TraceCheckUtils]: 11: Hoare triple {127174#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {127175#(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-27 11:43:35,443 INFO L290 TraceCheckUtils]: 12: Hoare triple {127175#(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; {127176#(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-27 11:43:35,444 INFO L290 TraceCheckUtils]: 13: Hoare triple {127176#(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; {127177#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-27 11:43:35,444 INFO L290 TraceCheckUtils]: 14: Hoare triple {127177#(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; {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:43:35,444 INFO L290 TraceCheckUtils]: 15: Hoare triple {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:43:35,444 INFO L290 TraceCheckUtils]: 16: Hoare triple {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:43:35,445 INFO L290 TraceCheckUtils]: 17: Hoare triple {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:43:35,445 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {127120#true} #111#return; {127144#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-27 11:43:35,445 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-27 11:43:35,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:35,593 INFO L290 TraceCheckUtils]: 0: Hoare triple {127120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:35,594 INFO L290 TraceCheckUtils]: 1: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:35,594 INFO L290 TraceCheckUtils]: 2: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:35,594 INFO L290 TraceCheckUtils]: 3: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:35,594 INFO L290 TraceCheckUtils]: 4: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:35,595 INFO L290 TraceCheckUtils]: 5: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:35,595 INFO L290 TraceCheckUtils]: 6: Hoare triple {127180#(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; {127181#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:35,595 INFO L290 TraceCheckUtils]: 7: Hoare triple {127181#(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; {127182#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:43:35,596 INFO L290 TraceCheckUtils]: 8: Hoare triple {127182#(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; {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:35,596 INFO L290 TraceCheckUtils]: 9: Hoare triple {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:35,596 INFO L290 TraceCheckUtils]: 10: Hoare triple {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {127184#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 12) (<= 12 (+ (* student_version_~j~1 4) student_version_~y~1)))} is VALID [2022-04-27 11:43:35,597 INFO L290 TraceCheckUtils]: 11: Hoare triple {127184#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 12) (<= 12 (+ (* student_version_~j~1 4) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {127185#(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-27 11:43:35,597 INFO L290 TraceCheckUtils]: 12: Hoare triple {127185#(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; {127186#(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-27 11:43:35,597 INFO L290 TraceCheckUtils]: 13: Hoare triple {127186#(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; {127187#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:43:35,598 INFO L290 TraceCheckUtils]: 14: Hoare triple {127187#(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; {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:43:35,598 INFO L290 TraceCheckUtils]: 15: Hoare triple {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:43:35,598 INFO L290 TraceCheckUtils]: 16: Hoare triple {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:43:35,599 INFO L290 TraceCheckUtils]: 17: Hoare triple {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:43:35,599 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {127145#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {127165#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:43:35,599 INFO L272 TraceCheckUtils]: 0: Hoare triple {127120#true} call ULTIMATE.init(); {127169#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:43:35,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {127169#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {127120#true} is VALID [2022-04-27 11:43:35,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {127120#true} assume true; {127120#true} is VALID [2022-04-27 11:43:35,600 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {127120#true} {127120#true} #117#return; {127120#true} is VALID [2022-04-27 11:43:35,600 INFO L272 TraceCheckUtils]: 4: Hoare triple {127120#true} call #t~ret10 := main(); {127120#true} is VALID [2022-04-27 11:43:35,600 INFO L290 TraceCheckUtils]: 5: Hoare triple {127120#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {127120#true} is VALID [2022-04-27 11:43:35,600 INFO L290 TraceCheckUtils]: 6: Hoare triple {127120#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {127120#true} is VALID [2022-04-27 11:43:35,600 INFO L272 TraceCheckUtils]: 7: Hoare triple {127120#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {127120#true} is VALID [2022-04-27 11:43:35,600 INFO L290 TraceCheckUtils]: 8: Hoare triple {127120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:35,600 INFO L290 TraceCheckUtils]: 9: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:35,601 INFO L290 TraceCheckUtils]: 10: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:35,601 INFO L290 TraceCheckUtils]: 11: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:35,601 INFO L290 TraceCheckUtils]: 12: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:35,601 INFO L290 TraceCheckUtils]: 13: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:35,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {127170#(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; {127171#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:35,602 INFO L290 TraceCheckUtils]: 15: Hoare triple {127171#(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; {127172#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:43:35,602 INFO L290 TraceCheckUtils]: 16: Hoare triple {127172#(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; {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:35,602 INFO L290 TraceCheckUtils]: 17: Hoare triple {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:35,603 INFO L290 TraceCheckUtils]: 18: Hoare triple {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {127174#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 12))} is VALID [2022-04-27 11:43:35,603 INFO L290 TraceCheckUtils]: 19: Hoare triple {127174#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {127175#(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-27 11:43:35,604 INFO L290 TraceCheckUtils]: 20: Hoare triple {127175#(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; {127176#(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-27 11:43:35,604 INFO L290 TraceCheckUtils]: 21: Hoare triple {127176#(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; {127177#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-27 11:43:35,604 INFO L290 TraceCheckUtils]: 22: Hoare triple {127177#(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; {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:43:35,604 INFO L290 TraceCheckUtils]: 23: Hoare triple {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:43:35,605 INFO L290 TraceCheckUtils]: 24: Hoare triple {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:43:35,605 INFO L290 TraceCheckUtils]: 25: Hoare triple {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:43:35,605 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {127120#true} #111#return; {127144#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-27 11:43:35,606 INFO L290 TraceCheckUtils]: 27: Hoare triple {127144#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {127145#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-27 11:43:35,606 INFO L272 TraceCheckUtils]: 28: Hoare triple {127145#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {127120#true} is VALID [2022-04-27 11:43:35,606 INFO L290 TraceCheckUtils]: 29: Hoare triple {127120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:35,606 INFO L290 TraceCheckUtils]: 30: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:35,606 INFO L290 TraceCheckUtils]: 31: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:35,607 INFO L290 TraceCheckUtils]: 32: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:35,607 INFO L290 TraceCheckUtils]: 33: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:35,607 INFO L290 TraceCheckUtils]: 34: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:35,607 INFO L290 TraceCheckUtils]: 35: Hoare triple {127180#(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; {127181#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:35,608 INFO L290 TraceCheckUtils]: 36: Hoare triple {127181#(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; {127182#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:43:35,608 INFO L290 TraceCheckUtils]: 37: Hoare triple {127182#(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; {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:35,608 INFO L290 TraceCheckUtils]: 38: Hoare triple {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:35,609 INFO L290 TraceCheckUtils]: 39: Hoare triple {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {127184#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 12) (<= 12 (+ (* student_version_~j~1 4) student_version_~y~1)))} is VALID [2022-04-27 11:43:35,609 INFO L290 TraceCheckUtils]: 40: Hoare triple {127184#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 12) (<= 12 (+ (* student_version_~j~1 4) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {127185#(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-27 11:43:35,609 INFO L290 TraceCheckUtils]: 41: Hoare triple {127185#(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; {127186#(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-27 11:43:35,610 INFO L290 TraceCheckUtils]: 42: Hoare triple {127186#(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; {127187#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:43:35,610 INFO L290 TraceCheckUtils]: 43: Hoare triple {127187#(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; {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:43:35,610 INFO L290 TraceCheckUtils]: 44: Hoare triple {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:43:35,611 INFO L290 TraceCheckUtils]: 45: Hoare triple {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:43:35,611 INFO L290 TraceCheckUtils]: 46: Hoare triple {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:43:35,611 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {127145#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {127165#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:43:35,612 INFO L290 TraceCheckUtils]: 48: Hoare triple {127165#(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; {127166#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:43:35,612 INFO L272 TraceCheckUtils]: 49: Hoare triple {127166#(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)); {127167#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:43:35,612 INFO L290 TraceCheckUtils]: 50: Hoare triple {127167#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {127168#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:43:35,612 INFO L290 TraceCheckUtils]: 51: Hoare triple {127168#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {127121#false} is VALID [2022-04-27 11:43:35,613 INFO L290 TraceCheckUtils]: 52: Hoare triple {127121#false} assume !false; {127121#false} is VALID [2022-04-27 11:43:35,613 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-27 11:43:35,613 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:43:35,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1276472321] [2022-04-27 11:43:35,613 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1276472321] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:43:35,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1068022787] [2022-04-27 11:43:35,613 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 11:43:35,613 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:43:35,613 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:43:35,614 INFO L229 MonitoredProcess]: Starting monitored process 65 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:43:35,615 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (65)] Waiting until timeout for monitored process [2022-04-27 11:43:35,695 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 11:43:35,696 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:43:35,697 INFO L263 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-27 11:43:35,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:35,703 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:43:36,313 INFO L272 TraceCheckUtils]: 0: Hoare triple {127120#true} call ULTIMATE.init(); {127120#true} is VALID [2022-04-27 11:43:36,313 INFO L290 TraceCheckUtils]: 1: Hoare triple {127120#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {127120#true} is VALID [2022-04-27 11:43:36,313 INFO L290 TraceCheckUtils]: 2: Hoare triple {127120#true} assume true; {127120#true} is VALID [2022-04-27 11:43:36,314 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {127120#true} {127120#true} #117#return; {127120#true} is VALID [2022-04-27 11:43:36,314 INFO L272 TraceCheckUtils]: 4: Hoare triple {127120#true} call #t~ret10 := main(); {127120#true} is VALID [2022-04-27 11:43:36,314 INFO L290 TraceCheckUtils]: 5: Hoare triple {127120#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {127120#true} is VALID [2022-04-27 11:43:36,314 INFO L290 TraceCheckUtils]: 6: Hoare triple {127120#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {127120#true} is VALID [2022-04-27 11:43:36,314 INFO L272 TraceCheckUtils]: 7: Hoare triple {127120#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {127120#true} is VALID [2022-04-27 11:43:36,314 INFO L290 TraceCheckUtils]: 8: Hoare triple {127120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:36,314 INFO L290 TraceCheckUtils]: 9: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:36,315 INFO L290 TraceCheckUtils]: 10: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:36,315 INFO L290 TraceCheckUtils]: 11: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:36,315 INFO L290 TraceCheckUtils]: 12: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:36,316 INFO L290 TraceCheckUtils]: 13: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:36,316 INFO L290 TraceCheckUtils]: 14: Hoare triple {127170#(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; {127171#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:36,317 INFO L290 TraceCheckUtils]: 15: Hoare triple {127171#(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; {127172#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:43:36,317 INFO L290 TraceCheckUtils]: 16: Hoare triple {127172#(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; {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:36,317 INFO L290 TraceCheckUtils]: 17: Hoare triple {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:36,318 INFO L290 TraceCheckUtils]: 18: Hoare triple {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {127247#(and (<= 3 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:36,318 INFO L290 TraceCheckUtils]: 19: Hoare triple {127247#(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; {127251#(and (= correct_version_~j~0 correct_version_~y~0) (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:36,319 INFO L290 TraceCheckUtils]: 20: Hoare triple {127251#(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; {127255#(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-27 11:43:36,319 INFO L290 TraceCheckUtils]: 21: Hoare triple {127255#(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; {127259#(and (= correct_version_~j~0 (+ correct_version_~y~0 (* (- 2) correct_version_~j~0))) (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:36,320 INFO L290 TraceCheckUtils]: 22: Hoare triple {127259#(and (= correct_version_~j~0 (+ correct_version_~y~0 (* (- 2) correct_version_~j~0))) (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:43:36,320 INFO L290 TraceCheckUtils]: 23: Hoare triple {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:43:36,320 INFO L290 TraceCheckUtils]: 24: Hoare triple {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:43:36,321 INFO L290 TraceCheckUtils]: 25: Hoare triple {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:43:36,321 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {127120#true} #111#return; {127144#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-27 11:43:36,322 INFO L290 TraceCheckUtils]: 27: Hoare triple {127144#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {127145#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-27 11:43:36,322 INFO L272 TraceCheckUtils]: 28: Hoare triple {127145#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {127120#true} is VALID [2022-04-27 11:43:36,322 INFO L290 TraceCheckUtils]: 29: Hoare triple {127120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:36,322 INFO L290 TraceCheckUtils]: 30: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:36,323 INFO L290 TraceCheckUtils]: 31: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:36,323 INFO L290 TraceCheckUtils]: 32: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:36,323 INFO L290 TraceCheckUtils]: 33: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:36,324 INFO L290 TraceCheckUtils]: 34: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:36,324 INFO L290 TraceCheckUtils]: 35: Hoare triple {127180#(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; {127181#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:36,325 INFO L290 TraceCheckUtils]: 36: Hoare triple {127181#(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; {127182#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:43:36,325 INFO L290 TraceCheckUtils]: 37: Hoare triple {127182#(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; {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:36,325 INFO L290 TraceCheckUtils]: 38: Hoare triple {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:36,326 INFO L290 TraceCheckUtils]: 39: Hoare triple {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {127314#(and (= student_version_~y~1 0) (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:36,326 INFO L290 TraceCheckUtils]: 40: Hoare triple {127314#(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; {127318#(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-27 11:43:36,327 INFO L290 TraceCheckUtils]: 41: Hoare triple {127318#(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; {127322#(and (<= student_version_~j~1 3) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:36,327 INFO L290 TraceCheckUtils]: 42: Hoare triple {127322#(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; {127326#(and (<= student_version_~j~1 3) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) (* 2 student_version_~j~1)) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:36,328 INFO L290 TraceCheckUtils]: 43: Hoare triple {127326#(and (<= student_version_~j~1 3) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) (* 2 student_version_~j~1)) (<= 3 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:43:36,328 INFO L290 TraceCheckUtils]: 44: Hoare triple {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:43:36,328 INFO L290 TraceCheckUtils]: 45: Hoare triple {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:43:36,328 INFO L290 TraceCheckUtils]: 46: Hoare triple {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:43:36,329 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {127145#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {127342#(and (<= main_~n_stones1~0 12) (<= 12 |main_#t~ret9|) (<= |main_#t~ret9| 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-27 11:43:36,330 INFO L290 TraceCheckUtils]: 48: Hoare triple {127342#(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; {127346#(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-27 11:43:36,330 INFO L272 TraceCheckUtils]: 49: Hoare triple {127346#(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)); {127350#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:43:36,330 INFO L290 TraceCheckUtils]: 50: Hoare triple {127350#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {127354#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:43:36,331 INFO L290 TraceCheckUtils]: 51: Hoare triple {127354#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {127121#false} is VALID [2022-04-27 11:43:36,331 INFO L290 TraceCheckUtils]: 52: Hoare triple {127121#false} assume !false; {127121#false} is VALID [2022-04-27 11:43:36,331 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-27 11:43:36,331 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:43:36,828 INFO L290 TraceCheckUtils]: 52: Hoare triple {127121#false} assume !false; {127121#false} is VALID [2022-04-27 11:43:36,828 INFO L290 TraceCheckUtils]: 51: Hoare triple {127354#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {127121#false} is VALID [2022-04-27 11:43:36,828 INFO L290 TraceCheckUtils]: 50: Hoare triple {127350#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {127354#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:43:36,829 INFO L272 TraceCheckUtils]: 49: Hoare triple {127166#(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)); {127350#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:43:36,830 INFO L290 TraceCheckUtils]: 48: Hoare triple {127165#(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; {127166#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:43:36,830 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} {127145#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} #113#return; {127165#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:43:36,831 INFO L290 TraceCheckUtils]: 46: Hoare triple {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} assume true; {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:43:36,831 INFO L290 TraceCheckUtils]: 45: Hoare triple {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} #res := ~y~1; {127189#(and (<= 12 |student_version_#res|) (<= |student_version_#res| 12))} is VALID [2022-04-27 11:43:36,831 INFO L290 TraceCheckUtils]: 44: Hoare triple {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} assume !(~x~1 < ~i~1); {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:43:36,832 INFO L290 TraceCheckUtils]: 43: Hoare triple {127187#(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; {127188#(and (<= 12 student_version_~y~1) (<= student_version_~y~1 12))} is VALID [2022-04-27 11:43:36,832 INFO L290 TraceCheckUtils]: 42: Hoare triple {127186#(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; {127187#(and (<= (+ student_version_~j~1 student_version_~y~1) 12) (<= 12 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:43:36,833 INFO L290 TraceCheckUtils]: 41: Hoare triple {127185#(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; {127186#(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-27 11:43:36,833 INFO L290 TraceCheckUtils]: 40: Hoare triple {127184#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 12) (<= 12 (+ (* student_version_~j~1 4) student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {127185#(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-27 11:43:36,834 INFO L290 TraceCheckUtils]: 39: Hoare triple {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {127184#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 12) (<= 12 (+ (* student_version_~j~1 4) student_version_~y~1)))} is VALID [2022-04-27 11:43:36,834 INFO L290 TraceCheckUtils]: 38: Hoare triple {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} assume !(~l~1 < ~m); {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:36,835 INFO L290 TraceCheckUtils]: 37: Hoare triple {127182#(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; {127183#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:43:36,835 INFO L290 TraceCheckUtils]: 36: Hoare triple {127181#(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; {127182#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:43:36,836 INFO L290 TraceCheckUtils]: 35: Hoare triple {127180#(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; {127181#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:36,836 INFO L290 TraceCheckUtils]: 34: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:36,836 INFO L290 TraceCheckUtils]: 33: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:36,837 INFO L290 TraceCheckUtils]: 32: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:36,837 INFO L290 TraceCheckUtils]: 31: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:36,837 INFO L290 TraceCheckUtils]: 30: Hoare triple {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:36,838 INFO L290 TraceCheckUtils]: 29: Hoare triple {127120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {127180#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:36,838 INFO L272 TraceCheckUtils]: 28: Hoare triple {127145#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {127120#true} is VALID [2022-04-27 11:43:36,838 INFO L290 TraceCheckUtils]: 27: Hoare triple {127144#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {127145#(and (<= main_~n_stones1~0 12) (<= 12 main_~n_stones1~0))} is VALID [2022-04-27 11:43:36,839 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} {127120#true} #111#return; {127144#(and (<= 12 |main_#t~ret8|) (<= |main_#t~ret8| 12))} is VALID [2022-04-27 11:43:36,839 INFO L290 TraceCheckUtils]: 25: Hoare triple {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} assume true; {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:43:36,839 INFO L290 TraceCheckUtils]: 24: Hoare triple {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} #res := ~y~0; {127179#(and (<= |correct_version_#res| 12) (<= 12 |correct_version_#res|))} is VALID [2022-04-27 11:43:36,840 INFO L290 TraceCheckUtils]: 23: Hoare triple {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} assume !(~x~0 < ~i~0); {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:43:36,840 INFO L290 TraceCheckUtils]: 22: Hoare triple {127177#(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; {127178#(and (<= 12 correct_version_~y~0) (<= correct_version_~y~0 12))} is VALID [2022-04-27 11:43:36,841 INFO L290 TraceCheckUtils]: 21: Hoare triple {127176#(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; {127177#(and (<= 12 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 12))} is VALID [2022-04-27 11:43:36,841 INFO L290 TraceCheckUtils]: 20: Hoare triple {127175#(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; {127176#(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-27 11:43:36,842 INFO L290 TraceCheckUtils]: 19: Hoare triple {127174#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 12))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {127175#(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-27 11:43:36,842 INFO L290 TraceCheckUtils]: 18: Hoare triple {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} ~x~0 := 0;~y~0 := 0; {127174#(and (<= 12 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 12))} is VALID [2022-04-27 11:43:36,843 INFO L290 TraceCheckUtils]: 17: Hoare triple {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} assume !(~l~0 < ~m); {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:36,843 INFO L290 TraceCheckUtils]: 16: Hoare triple {127172#(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; {127173#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:43:36,843 INFO L290 TraceCheckUtils]: 15: Hoare triple {127171#(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; {127172#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:43:36,844 INFO L290 TraceCheckUtils]: 14: Hoare triple {127170#(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; {127171#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:36,844 INFO L290 TraceCheckUtils]: 13: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:36,845 INFO L290 TraceCheckUtils]: 12: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:36,845 INFO L290 TraceCheckUtils]: 11: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:36,845 INFO L290 TraceCheckUtils]: 10: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:36,846 INFO L290 TraceCheckUtils]: 9: Hoare triple {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:36,846 INFO L290 TraceCheckUtils]: 8: Hoare triple {127120#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {127170#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:36,846 INFO L272 TraceCheckUtils]: 7: Hoare triple {127120#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {127120#true} is VALID [2022-04-27 11:43:36,846 INFO L290 TraceCheckUtils]: 6: Hoare triple {127120#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {127120#true} is VALID [2022-04-27 11:43:36,846 INFO L290 TraceCheckUtils]: 5: Hoare triple {127120#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {127120#true} is VALID [2022-04-27 11:43:36,846 INFO L272 TraceCheckUtils]: 4: Hoare triple {127120#true} call #t~ret10 := main(); {127120#true} is VALID [2022-04-27 11:43:36,846 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {127120#true} {127120#true} #117#return; {127120#true} is VALID [2022-04-27 11:43:36,846 INFO L290 TraceCheckUtils]: 2: Hoare triple {127120#true} assume true; {127120#true} is VALID [2022-04-27 11:43:36,846 INFO L290 TraceCheckUtils]: 1: Hoare triple {127120#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {127120#true} is VALID [2022-04-27 11:43:36,847 INFO L272 TraceCheckUtils]: 0: Hoare triple {127120#true} call ULTIMATE.init(); {127120#true} is VALID [2022-04-27 11:43:36,847 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-27 11:43:36,847 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1068022787] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:43:36,847 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:43:36,847 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 41 [2022-04-27 11:43:36,847 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [909272344] [2022-04-27 11:43:36,847 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:43:36,847 INFO L78 Accepts]: Start accepts. Automaton has has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 53 [2022-04-27 11:43:36,848 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:43:36,848 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:36,891 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-27 11:43:36,891 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 41 states [2022-04-27 11:43:36,891 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:43:36,891 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 41 interpolants. [2022-04-27 11:43:36,891 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=1539, Unknown=0, NotChecked=0, Total=1640 [2022-04-27 11:43:36,892 INFO L87 Difference]: Start difference. First operand 600 states and 676 transitions. Second operand has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:43,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:43:43,081 INFO L93 Difference]: Finished difference Result 606 states and 681 transitions. [2022-04-27 11:43:43,081 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-27 11:43:43,081 INFO L78 Accepts]: Start accepts. Automaton has has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 53 [2022-04-27 11:43:43,081 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:43:43,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:43,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 112 transitions. [2022-04-27 11:43:43,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:43,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 112 transitions. [2022-04-27 11:43:43,083 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 112 transitions. [2022-04-27 11:43:43,137 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:43:43,154 INFO L225 Difference]: With dead ends: 606 [2022-04-27 11:43:43,154 INFO L226 Difference]: Without dead ends: 580 [2022-04-27 11:43:43,156 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 165 GetRequests, 90 SyntacticMatches, 9 SemanticMatches, 66 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 762 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=259, Invalid=4297, Unknown=0, NotChecked=0, Total=4556 [2022-04-27 11:43:43,156 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 96 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 2328 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 98 SdHoareTripleChecker+Valid, 196 SdHoareTripleChecker+Invalid, 2360 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 2328 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:43:43,156 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [98 Valid, 196 Invalid, 2360 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 2328 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-27 11:43:43,156 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 580 states. [2022-04-27 11:43:47,060 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 580 to 580. [2022-04-27 11:43:47,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:43:47,060 INFO L82 GeneralOperation]: Start isEquivalent. First operand 580 states. Second operand has 580 states, 505 states have (on average 1.1465346534653464) internal successors, (579), 549 states have internal predecessors, (579), 27 states have call successors, (27), 5 states have call predecessors, (27), 47 states have return successors, (48), 25 states have call predecessors, (48), 25 states have call successors, (48) [2022-04-27 11:43:47,061 INFO L74 IsIncluded]: Start isIncluded. First operand 580 states. Second operand has 580 states, 505 states have (on average 1.1465346534653464) internal successors, (579), 549 states have internal predecessors, (579), 27 states have call successors, (27), 5 states have call predecessors, (27), 47 states have return successors, (48), 25 states have call predecessors, (48), 25 states have call successors, (48) [2022-04-27 11:43:47,061 INFO L87 Difference]: Start difference. First operand 580 states. Second operand has 580 states, 505 states have (on average 1.1465346534653464) internal successors, (579), 549 states have internal predecessors, (579), 27 states have call successors, (27), 5 states have call predecessors, (27), 47 states have return successors, (48), 25 states have call predecessors, (48), 25 states have call successors, (48) [2022-04-27 11:43:47,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:43:47,073 INFO L93 Difference]: Finished difference Result 580 states and 654 transitions. [2022-04-27 11:43:47,073 INFO L276 IsEmpty]: Start isEmpty. Operand 580 states and 654 transitions. [2022-04-27 11:43:47,075 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:43:47,075 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:43:47,075 INFO L74 IsIncluded]: Start isIncluded. First operand has 580 states, 505 states have (on average 1.1465346534653464) internal successors, (579), 549 states have internal predecessors, (579), 27 states have call successors, (27), 5 states have call predecessors, (27), 47 states have return successors, (48), 25 states have call predecessors, (48), 25 states have call successors, (48) Second operand 580 states. [2022-04-27 11:43:47,076 INFO L87 Difference]: Start difference. First operand has 580 states, 505 states have (on average 1.1465346534653464) internal successors, (579), 549 states have internal predecessors, (579), 27 states have call successors, (27), 5 states have call predecessors, (27), 47 states have return successors, (48), 25 states have call predecessors, (48), 25 states have call successors, (48) Second operand 580 states. [2022-04-27 11:43:47,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:43:47,087 INFO L93 Difference]: Finished difference Result 580 states and 654 transitions. [2022-04-27 11:43:47,087 INFO L276 IsEmpty]: Start isEmpty. Operand 580 states and 654 transitions. [2022-04-27 11:43:47,089 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:43:47,089 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:43:47,089 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:43:47,089 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:43:47,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 580 states, 505 states have (on average 1.1465346534653464) internal successors, (579), 549 states have internal predecessors, (579), 27 states have call successors, (27), 5 states have call predecessors, (27), 47 states have return successors, (48), 25 states have call predecessors, (48), 25 states have call successors, (48) [2022-04-27 11:43:47,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 580 states to 580 states and 654 transitions. [2022-04-27 11:43:47,105 INFO L78 Accepts]: Start accepts. Automaton has 580 states and 654 transitions. Word has length 53 [2022-04-27 11:43:47,105 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:43:47,105 INFO L495 AbstractCegarLoop]: Abstraction has 580 states and 654 transitions. [2022-04-27 11:43:47,105 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:47,105 INFO L276 IsEmpty]: Start isEmpty. Operand 580 states and 654 transitions. [2022-04-27 11:43:47,108 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-27 11:43:47,108 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:43:47,108 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 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] [2022-04-27 11:43:47,126 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (65)] Ended with exit code 0 [2022-04-27 11:43:47,323 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable73,65 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:43:47,324 INFO L420 AbstractCegarLoop]: === Iteration 75 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:43:47,324 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:43:47,324 INFO L85 PathProgramCache]: Analyzing trace with hash 1906924717, now seen corresponding path program 65 times [2022-04-27 11:43:47,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:43:47,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [539751702] [2022-04-27 11:43:47,324 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:43:47,324 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:43:47,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:47,404 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:43:47,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:47,406 INFO L290 TraceCheckUtils]: 0: Hoare triple {130510#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {130461#true} is VALID [2022-04-27 11:43:47,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {130461#true} assume true; {130461#true} is VALID [2022-04-27 11:43:47,406 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {130461#true} {130461#true} #117#return; {130461#true} is VALID [2022-04-27 11:43:47,406 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:43:47,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:47,554 INFO L290 TraceCheckUtils]: 0: Hoare triple {130461#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:47,554 INFO L290 TraceCheckUtils]: 1: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:47,555 INFO L290 TraceCheckUtils]: 2: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:47,555 INFO L290 TraceCheckUtils]: 3: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:47,555 INFO L290 TraceCheckUtils]: 4: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:47,556 INFO L290 TraceCheckUtils]: 5: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:47,556 INFO L290 TraceCheckUtils]: 6: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:47,557 INFO L290 TraceCheckUtils]: 7: Hoare triple {130511#(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; {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:47,557 INFO L290 TraceCheckUtils]: 8: Hoare triple {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:47,557 INFO L290 TraceCheckUtils]: 9: Hoare triple {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {130513#(and (<= 5 (+ (* correct_version_~j~0 5) correct_version_~y~0)) (<= (+ (* correct_version_~j~0 5) correct_version_~y~0) 5))} is VALID [2022-04-27 11:43:47,558 INFO L290 TraceCheckUtils]: 10: Hoare triple {130513#(and (<= 5 (+ (* correct_version_~j~0 5) correct_version_~y~0)) (<= (+ (* correct_version_~j~0 5) correct_version_~y~0) 5))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {130514#(and (<= 5 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 5))} is VALID [2022-04-27 11:43:47,558 INFO L290 TraceCheckUtils]: 11: Hoare triple {130514#(and (<= 5 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 5))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {130515#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 5) (<= 5 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} is VALID [2022-04-27 11:43:47,559 INFO L290 TraceCheckUtils]: 12: Hoare triple {130515#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 5) (<= 5 (+ 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; {130516#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 5) (<= 5 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:43:47,559 INFO L290 TraceCheckUtils]: 13: Hoare triple {130516#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 5) (<= 5 (+ 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; {130517#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 5) (<= 5 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:43:47,560 INFO L290 TraceCheckUtils]: 14: Hoare triple {130517#(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; {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:43:47,560 INFO L290 TraceCheckUtils]: 15: Hoare triple {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} assume !(~x~0 < ~i~0); {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:43:47,560 INFO L290 TraceCheckUtils]: 16: Hoare triple {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} #res := ~y~0; {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:43:47,561 INFO L290 TraceCheckUtils]: 17: Hoare triple {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} assume true; {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:43:47,561 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} {130461#true} #111#return; {130485#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} is VALID [2022-04-27 11:43:47,562 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-27 11:43:47,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:47,762 INFO L290 TraceCheckUtils]: 0: Hoare triple {130461#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:47,763 INFO L290 TraceCheckUtils]: 1: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:47,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:47,764 INFO L290 TraceCheckUtils]: 3: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:47,764 INFO L290 TraceCheckUtils]: 4: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:47,764 INFO L290 TraceCheckUtils]: 5: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:47,765 INFO L290 TraceCheckUtils]: 6: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:47,765 INFO L290 TraceCheckUtils]: 7: Hoare triple {130520#(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; {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:47,765 INFO L290 TraceCheckUtils]: 8: Hoare triple {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:47,766 INFO L290 TraceCheckUtils]: 9: Hoare triple {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {130522#(and (<= (+ student_version_~y~1 (* 5 student_version_~j~1)) 5) (<= 5 (+ student_version_~y~1 (* 5 student_version_~j~1))))} is VALID [2022-04-27 11:43:47,766 INFO L290 TraceCheckUtils]: 10: Hoare triple {130522#(and (<= (+ student_version_~y~1 (* 5 student_version_~j~1)) 5) (<= 5 (+ 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; {130523#(and (<= 5 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 5))} is VALID [2022-04-27 11:43:47,767 INFO L290 TraceCheckUtils]: 11: Hoare triple {130523#(and (<= 5 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 5))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {130524#(and (<= 5 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 5))} is VALID [2022-04-27 11:43:47,767 INFO L290 TraceCheckUtils]: 12: Hoare triple {130524#(and (<= 5 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 5))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {130525#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 5) (<= 5 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:43:47,768 INFO L290 TraceCheckUtils]: 13: Hoare triple {130525#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 5) (<= 5 (+ (* 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; {130526#(and (<= (+ student_version_~j~1 student_version_~y~1) 5) (<= 5 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:43:47,768 INFO L290 TraceCheckUtils]: 14: Hoare triple {130526#(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; {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:43:47,769 INFO L290 TraceCheckUtils]: 15: Hoare triple {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} assume !(~x~1 < ~i~1); {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:43:47,769 INFO L290 TraceCheckUtils]: 16: Hoare triple {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} #res := ~y~1; {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:43:47,769 INFO L290 TraceCheckUtils]: 17: Hoare triple {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} assume true; {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:43:47,770 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} {130486#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} #113#return; {130506#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:43:47,771 INFO L272 TraceCheckUtils]: 0: Hoare triple {130461#true} call ULTIMATE.init(); {130510#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:43:47,771 INFO L290 TraceCheckUtils]: 1: Hoare triple {130510#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {130461#true} is VALID [2022-04-27 11:43:47,771 INFO L290 TraceCheckUtils]: 2: Hoare triple {130461#true} assume true; {130461#true} is VALID [2022-04-27 11:43:47,771 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {130461#true} {130461#true} #117#return; {130461#true} is VALID [2022-04-27 11:43:47,771 INFO L272 TraceCheckUtils]: 4: Hoare triple {130461#true} call #t~ret10 := main(); {130461#true} is VALID [2022-04-27 11:43:47,771 INFO L290 TraceCheckUtils]: 5: Hoare triple {130461#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {130461#true} is VALID [2022-04-27 11:43:47,771 INFO L290 TraceCheckUtils]: 6: Hoare triple {130461#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {130461#true} is VALID [2022-04-27 11:43:47,771 INFO L272 TraceCheckUtils]: 7: Hoare triple {130461#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {130461#true} is VALID [2022-04-27 11:43:47,771 INFO L290 TraceCheckUtils]: 8: Hoare triple {130461#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:47,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:47,772 INFO L290 TraceCheckUtils]: 10: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:47,772 INFO L290 TraceCheckUtils]: 11: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:47,773 INFO L290 TraceCheckUtils]: 12: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:47,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:47,773 INFO L290 TraceCheckUtils]: 14: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:47,774 INFO L290 TraceCheckUtils]: 15: Hoare triple {130511#(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; {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:47,774 INFO L290 TraceCheckUtils]: 16: Hoare triple {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:47,775 INFO L290 TraceCheckUtils]: 17: Hoare triple {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {130513#(and (<= 5 (+ (* correct_version_~j~0 5) correct_version_~y~0)) (<= (+ (* correct_version_~j~0 5) correct_version_~y~0) 5))} is VALID [2022-04-27 11:43:47,775 INFO L290 TraceCheckUtils]: 18: Hoare triple {130513#(and (<= 5 (+ (* correct_version_~j~0 5) correct_version_~y~0)) (<= (+ (* correct_version_~j~0 5) correct_version_~y~0) 5))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {130514#(and (<= 5 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 5))} is VALID [2022-04-27 11:43:47,776 INFO L290 TraceCheckUtils]: 19: Hoare triple {130514#(and (<= 5 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 5))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {130515#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 5) (<= 5 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} is VALID [2022-04-27 11:43:47,776 INFO L290 TraceCheckUtils]: 20: Hoare triple {130515#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 5) (<= 5 (+ 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; {130516#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 5) (<= 5 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:43:47,777 INFO L290 TraceCheckUtils]: 21: Hoare triple {130516#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 5) (<= 5 (+ 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; {130517#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 5) (<= 5 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:43:47,777 INFO L290 TraceCheckUtils]: 22: Hoare triple {130517#(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; {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:43:47,777 INFO L290 TraceCheckUtils]: 23: Hoare triple {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} assume !(~x~0 < ~i~0); {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:43:47,778 INFO L290 TraceCheckUtils]: 24: Hoare triple {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} #res := ~y~0; {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:43:47,778 INFO L290 TraceCheckUtils]: 25: Hoare triple {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} assume true; {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:43:47,779 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} {130461#true} #111#return; {130485#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} is VALID [2022-04-27 11:43:47,779 INFO L290 TraceCheckUtils]: 27: Hoare triple {130485#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {130486#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} is VALID [2022-04-27 11:43:47,779 INFO L272 TraceCheckUtils]: 28: Hoare triple {130486#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {130461#true} is VALID [2022-04-27 11:43:47,779 INFO L290 TraceCheckUtils]: 29: Hoare triple {130461#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:47,780 INFO L290 TraceCheckUtils]: 30: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:47,780 INFO L290 TraceCheckUtils]: 31: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:47,780 INFO L290 TraceCheckUtils]: 32: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:47,781 INFO L290 TraceCheckUtils]: 33: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:47,781 INFO L290 TraceCheckUtils]: 34: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:47,781 INFO L290 TraceCheckUtils]: 35: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:47,782 INFO L290 TraceCheckUtils]: 36: Hoare triple {130520#(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; {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:47,782 INFO L290 TraceCheckUtils]: 37: Hoare triple {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:47,783 INFO L290 TraceCheckUtils]: 38: Hoare triple {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {130522#(and (<= (+ student_version_~y~1 (* 5 student_version_~j~1)) 5) (<= 5 (+ student_version_~y~1 (* 5 student_version_~j~1))))} is VALID [2022-04-27 11:43:47,783 INFO L290 TraceCheckUtils]: 39: Hoare triple {130522#(and (<= (+ student_version_~y~1 (* 5 student_version_~j~1)) 5) (<= 5 (+ 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; {130523#(and (<= 5 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 5))} is VALID [2022-04-27 11:43:47,784 INFO L290 TraceCheckUtils]: 40: Hoare triple {130523#(and (<= 5 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 5))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {130524#(and (<= 5 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 5))} is VALID [2022-04-27 11:43:47,784 INFO L290 TraceCheckUtils]: 41: Hoare triple {130524#(and (<= 5 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 5))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {130525#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 5) (<= 5 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:43:47,785 INFO L290 TraceCheckUtils]: 42: Hoare triple {130525#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 5) (<= 5 (+ (* 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; {130526#(and (<= (+ student_version_~j~1 student_version_~y~1) 5) (<= 5 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:43:47,785 INFO L290 TraceCheckUtils]: 43: Hoare triple {130526#(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; {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:43:47,785 INFO L290 TraceCheckUtils]: 44: Hoare triple {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} assume !(~x~1 < ~i~1); {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:43:47,786 INFO L290 TraceCheckUtils]: 45: Hoare triple {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} #res := ~y~1; {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:43:47,786 INFO L290 TraceCheckUtils]: 46: Hoare triple {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} assume true; {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:43:47,787 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} {130486#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} #113#return; {130506#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:43:47,787 INFO L290 TraceCheckUtils]: 48: Hoare triple {130506#(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; {130507#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:43:47,788 INFO L272 TraceCheckUtils]: 49: Hoare triple {130507#(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)); {130508#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:43:47,788 INFO L290 TraceCheckUtils]: 50: Hoare triple {130508#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {130509#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:43:47,788 INFO L290 TraceCheckUtils]: 51: Hoare triple {130509#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {130462#false} is VALID [2022-04-27 11:43:47,788 INFO L290 TraceCheckUtils]: 52: Hoare triple {130462#false} assume !false; {130462#false} is VALID [2022-04-27 11:43:47,789 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-27 11:43:47,789 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:43:47,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [539751702] [2022-04-27 11:43:47,789 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [539751702] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:43:47,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2027145577] [2022-04-27 11:43:47,789 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 11:43:47,789 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:43:47,789 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:43:47,790 INFO L229 MonitoredProcess]: Starting monitored process 66 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:43:47,793 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (66)] Waiting until timeout for monitored process [2022-04-27 11:43:47,884 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2022-04-27 11:43:47,884 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:43:47,885 INFO L263 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-27 11:43:47,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:47,894 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:43:48,620 INFO L272 TraceCheckUtils]: 0: Hoare triple {130461#true} call ULTIMATE.init(); {130461#true} is VALID [2022-04-27 11:43:48,620 INFO L290 TraceCheckUtils]: 1: Hoare triple {130461#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {130461#true} is VALID [2022-04-27 11:43:48,620 INFO L290 TraceCheckUtils]: 2: Hoare triple {130461#true} assume true; {130461#true} is VALID [2022-04-27 11:43:48,620 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {130461#true} {130461#true} #117#return; {130461#true} is VALID [2022-04-27 11:43:48,620 INFO L272 TraceCheckUtils]: 4: Hoare triple {130461#true} call #t~ret10 := main(); {130461#true} is VALID [2022-04-27 11:43:48,620 INFO L290 TraceCheckUtils]: 5: Hoare triple {130461#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {130461#true} is VALID [2022-04-27 11:43:48,620 INFO L290 TraceCheckUtils]: 6: Hoare triple {130461#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {130461#true} is VALID [2022-04-27 11:43:48,620 INFO L272 TraceCheckUtils]: 7: Hoare triple {130461#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {130461#true} is VALID [2022-04-27 11:43:48,620 INFO L290 TraceCheckUtils]: 8: Hoare triple {130461#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:48,621 INFO L290 TraceCheckUtils]: 9: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:48,621 INFO L290 TraceCheckUtils]: 10: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:48,622 INFO L290 TraceCheckUtils]: 11: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:48,622 INFO L290 TraceCheckUtils]: 12: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:48,622 INFO L290 TraceCheckUtils]: 13: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:48,623 INFO L290 TraceCheckUtils]: 14: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:48,623 INFO L290 TraceCheckUtils]: 15: Hoare triple {130511#(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; {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:48,623 INFO L290 TraceCheckUtils]: 16: Hoare triple {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:48,624 INFO L290 TraceCheckUtils]: 17: Hoare triple {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {130583#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:48,624 INFO L290 TraceCheckUtils]: 18: Hoare triple {130583#(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; {130587#(and (<= 1 correct_version_~j~0) (= correct_version_~j~0 correct_version_~y~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:48,625 INFO L290 TraceCheckUtils]: 19: Hoare triple {130587#(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; {130591#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:48,625 INFO L290 TraceCheckUtils]: 20: Hoare triple {130591#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)) (<= correct_version_~j~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {130595#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 3)) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:48,626 INFO L290 TraceCheckUtils]: 21: Hoare triple {130595#(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; {130599#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 4)) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:48,626 INFO L290 TraceCheckUtils]: 22: Hoare triple {130599#(and (<= 1 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 4)) (<= correct_version_~j~0 1))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:43:48,626 INFO L290 TraceCheckUtils]: 23: Hoare triple {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} assume !(~x~0 < ~i~0); {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:43:48,627 INFO L290 TraceCheckUtils]: 24: Hoare triple {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} #res := ~y~0; {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:43:48,627 INFO L290 TraceCheckUtils]: 25: Hoare triple {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} assume true; {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:43:48,628 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} {130461#true} #111#return; {130485#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} is VALID [2022-04-27 11:43:48,628 INFO L290 TraceCheckUtils]: 27: Hoare triple {130485#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {130486#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} is VALID [2022-04-27 11:43:48,628 INFO L272 TraceCheckUtils]: 28: Hoare triple {130486#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {130461#true} is VALID [2022-04-27 11:43:48,628 INFO L290 TraceCheckUtils]: 29: Hoare triple {130461#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:48,629 INFO L290 TraceCheckUtils]: 30: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:48,629 INFO L290 TraceCheckUtils]: 31: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:48,630 INFO L290 TraceCheckUtils]: 32: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:48,630 INFO L290 TraceCheckUtils]: 33: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:48,630 INFO L290 TraceCheckUtils]: 34: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:48,631 INFO L290 TraceCheckUtils]: 35: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:48,632 INFO L290 TraceCheckUtils]: 36: Hoare triple {130520#(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; {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:48,632 INFO L290 TraceCheckUtils]: 37: Hoare triple {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:48,633 INFO L290 TraceCheckUtils]: 38: Hoare triple {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {130651#(and (= student_version_~y~1 0) (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:48,633 INFO L290 TraceCheckUtils]: 39: Hoare triple {130651#(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; {130655#(and (<= student_version_~j~1 1) (= student_version_~j~1 student_version_~y~1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:48,633 INFO L290 TraceCheckUtils]: 40: Hoare triple {130655#(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; {130659#(and (<= student_version_~j~1 1) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:48,634 INFO L290 TraceCheckUtils]: 41: Hoare triple {130659#(and (<= student_version_~j~1 1) (= (* 2 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; {130663#(and (<= student_version_~j~1 1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) (* 2 student_version_~j~1)) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:48,634 INFO L290 TraceCheckUtils]: 42: Hoare triple {130663#(and (<= student_version_~j~1 1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) (* 2 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; {130667#(and (<= student_version_~j~1 1) (= (* student_version_~j~1 4) student_version_~y~1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:48,635 INFO L290 TraceCheckUtils]: 43: Hoare triple {130667#(and (<= student_version_~j~1 1) (= (* student_version_~j~1 4) 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; {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:43:48,635 INFO L290 TraceCheckUtils]: 44: Hoare triple {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} assume !(~x~1 < ~i~1); {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:43:48,636 INFO L290 TraceCheckUtils]: 45: Hoare triple {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} #res := ~y~1; {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:43:48,636 INFO L290 TraceCheckUtils]: 46: Hoare triple {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} assume true; {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:43:48,637 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} {130486#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} #113#return; {130683#(and (<= 5 |main_#t~ret9|) (<= main_~n_stones1~0 5) (<= |main_#t~ret9| 5) (<= 5 main_~n_stones1~0))} is VALID [2022-04-27 11:43:48,637 INFO L290 TraceCheckUtils]: 48: Hoare triple {130683#(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; {130687#(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-27 11:43:48,638 INFO L272 TraceCheckUtils]: 49: Hoare triple {130687#(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)); {130691#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:43:48,638 INFO L290 TraceCheckUtils]: 50: Hoare triple {130691#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {130695#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:43:48,638 INFO L290 TraceCheckUtils]: 51: Hoare triple {130695#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {130462#false} is VALID [2022-04-27 11:43:48,638 INFO L290 TraceCheckUtils]: 52: Hoare triple {130462#false} assume !false; {130462#false} is VALID [2022-04-27 11:43:48,638 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-27 11:43:48,639 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:43:49,140 INFO L290 TraceCheckUtils]: 52: Hoare triple {130462#false} assume !false; {130462#false} is VALID [2022-04-27 11:43:49,141 INFO L290 TraceCheckUtils]: 51: Hoare triple {130695#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {130462#false} is VALID [2022-04-27 11:43:49,141 INFO L290 TraceCheckUtils]: 50: Hoare triple {130691#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {130695#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:43:49,142 INFO L272 TraceCheckUtils]: 49: Hoare triple {130507#(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)); {130691#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:43:49,142 INFO L290 TraceCheckUtils]: 48: Hoare triple {130506#(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; {130507#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:43:49,143 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} {130486#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} #113#return; {130506#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:43:49,143 INFO L290 TraceCheckUtils]: 46: Hoare triple {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} assume true; {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:43:49,144 INFO L290 TraceCheckUtils]: 45: Hoare triple {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} #res := ~y~1; {130528#(and (<= |student_version_#res| 5) (<= 5 |student_version_#res|))} is VALID [2022-04-27 11:43:49,144 INFO L290 TraceCheckUtils]: 44: Hoare triple {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} assume !(~x~1 < ~i~1); {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:43:49,144 INFO L290 TraceCheckUtils]: 43: Hoare triple {130526#(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; {130527#(and (<= student_version_~y~1 5) (<= 5 student_version_~y~1))} is VALID [2022-04-27 11:43:49,145 INFO L290 TraceCheckUtils]: 42: Hoare triple {130525#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 5) (<= 5 (+ (* 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; {130526#(and (<= (+ student_version_~j~1 student_version_~y~1) 5) (<= 5 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:43:49,145 INFO L290 TraceCheckUtils]: 41: Hoare triple {130524#(and (<= 5 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 5))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {130525#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 5) (<= 5 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:43:49,146 INFO L290 TraceCheckUtils]: 40: Hoare triple {130523#(and (<= 5 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 5))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {130524#(and (<= 5 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 5))} is VALID [2022-04-27 11:43:49,146 INFO L290 TraceCheckUtils]: 39: Hoare triple {130522#(and (<= (+ student_version_~y~1 (* 5 student_version_~j~1)) 5) (<= 5 (+ 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; {130523#(and (<= 5 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 5))} is VALID [2022-04-27 11:43:49,147 INFO L290 TraceCheckUtils]: 38: Hoare triple {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {130522#(and (<= (+ student_version_~y~1 (* 5 student_version_~j~1)) 5) (<= 5 (+ student_version_~y~1 (* 5 student_version_~j~1))))} is VALID [2022-04-27 11:43:49,147 INFO L290 TraceCheckUtils]: 37: Hoare triple {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} assume !(~l~1 < ~m); {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:49,148 INFO L290 TraceCheckUtils]: 36: Hoare triple {130520#(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; {130521#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:43:49,148 INFO L290 TraceCheckUtils]: 35: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:49,148 INFO L290 TraceCheckUtils]: 34: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:49,149 INFO L290 TraceCheckUtils]: 33: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:49,149 INFO L290 TraceCheckUtils]: 32: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:49,149 INFO L290 TraceCheckUtils]: 31: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:49,150 INFO L290 TraceCheckUtils]: 30: Hoare triple {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:49,150 INFO L290 TraceCheckUtils]: 29: Hoare triple {130461#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {130520#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:43:49,150 INFO L272 TraceCheckUtils]: 28: Hoare triple {130486#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {130461#true} is VALID [2022-04-27 11:43:49,151 INFO L290 TraceCheckUtils]: 27: Hoare triple {130485#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {130486#(and (<= main_~n_stones1~0 5) (<= 5 main_~n_stones1~0))} is VALID [2022-04-27 11:43:49,151 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} {130461#true} #111#return; {130485#(and (<= 5 |main_#t~ret8|) (<= |main_#t~ret8| 5))} is VALID [2022-04-27 11:43:49,152 INFO L290 TraceCheckUtils]: 25: Hoare triple {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} assume true; {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:43:49,152 INFO L290 TraceCheckUtils]: 24: Hoare triple {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} #res := ~y~0; {130519#(and (<= 5 |correct_version_#res|) (<= |correct_version_#res| 5))} is VALID [2022-04-27 11:43:49,152 INFO L290 TraceCheckUtils]: 23: Hoare triple {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} assume !(~x~0 < ~i~0); {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:43:49,153 INFO L290 TraceCheckUtils]: 22: Hoare triple {130517#(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; {130518#(and (<= 5 correct_version_~y~0) (<= correct_version_~y~0 5))} is VALID [2022-04-27 11:43:49,153 INFO L290 TraceCheckUtils]: 21: Hoare triple {130516#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 5) (<= 5 (+ 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; {130517#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 5) (<= 5 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:43:49,154 INFO L290 TraceCheckUtils]: 20: Hoare triple {130515#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 5) (<= 5 (+ 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; {130516#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 5) (<= 5 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:43:49,154 INFO L290 TraceCheckUtils]: 19: Hoare triple {130514#(and (<= 5 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 5))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {130515#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 5) (<= 5 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} is VALID [2022-04-27 11:43:49,155 INFO L290 TraceCheckUtils]: 18: Hoare triple {130513#(and (<= 5 (+ (* correct_version_~j~0 5) correct_version_~y~0)) (<= (+ (* correct_version_~j~0 5) correct_version_~y~0) 5))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {130514#(and (<= 5 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 5))} is VALID [2022-04-27 11:43:49,155 INFO L290 TraceCheckUtils]: 17: Hoare triple {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} ~x~0 := 0;~y~0 := 0; {130513#(and (<= 5 (+ (* correct_version_~j~0 5) correct_version_~y~0)) (<= (+ (* correct_version_~j~0 5) correct_version_~y~0) 5))} is VALID [2022-04-27 11:43:49,155 INFO L290 TraceCheckUtils]: 16: Hoare triple {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} assume !(~l~0 < ~m); {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:49,156 INFO L290 TraceCheckUtils]: 15: Hoare triple {130511#(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; {130512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:43:49,156 INFO L290 TraceCheckUtils]: 14: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:49,156 INFO L290 TraceCheckUtils]: 13: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:49,157 INFO L290 TraceCheckUtils]: 12: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:49,157 INFO L290 TraceCheckUtils]: 11: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:49,157 INFO L290 TraceCheckUtils]: 10: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:49,158 INFO L290 TraceCheckUtils]: 9: Hoare triple {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:49,158 INFO L290 TraceCheckUtils]: 8: Hoare triple {130461#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {130511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:43:49,158 INFO L272 TraceCheckUtils]: 7: Hoare triple {130461#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {130461#true} is VALID [2022-04-27 11:43:49,158 INFO L290 TraceCheckUtils]: 6: Hoare triple {130461#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {130461#true} is VALID [2022-04-27 11:43:49,158 INFO L290 TraceCheckUtils]: 5: Hoare triple {130461#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {130461#true} is VALID [2022-04-27 11:43:49,158 INFO L272 TraceCheckUtils]: 4: Hoare triple {130461#true} call #t~ret10 := main(); {130461#true} is VALID [2022-04-27 11:43:49,158 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {130461#true} {130461#true} #117#return; {130461#true} is VALID [2022-04-27 11:43:49,158 INFO L290 TraceCheckUtils]: 2: Hoare triple {130461#true} assume true; {130461#true} is VALID [2022-04-27 11:43:49,158 INFO L290 TraceCheckUtils]: 1: Hoare triple {130461#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {130461#true} is VALID [2022-04-27 11:43:49,158 INFO L272 TraceCheckUtils]: 0: Hoare triple {130461#true} call ULTIMATE.init(); {130461#true} is VALID [2022-04-27 11:43:49,159 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-27 11:43:49,159 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2027145577] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:43:49,159 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:43:49,159 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 41 [2022-04-27 11:43:49,159 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [578288607] [2022-04-27 11:43:49,159 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:43:49,159 INFO L78 Accepts]: Start accepts. Automaton has has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 53 [2022-04-27 11:43:49,159 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:43:49,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:49,188 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-27 11:43:49,188 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 41 states [2022-04-27 11:43:49,188 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:43:49,189 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 41 interpolants. [2022-04-27 11:43:49,189 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=1535, Unknown=0, NotChecked=0, Total=1640 [2022-04-27 11:43:49,189 INFO L87 Difference]: Start difference. First operand 580 states and 654 transitions. Second operand has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:55,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:43:55,353 INFO L93 Difference]: Finished difference Result 598 states and 675 transitions. [2022-04-27 11:43:55,353 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-27 11:43:55,353 INFO L78 Accepts]: Start accepts. Automaton has has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 53 [2022-04-27 11:43:55,353 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:43:55,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:55,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 86 transitions. [2022-04-27 11:43:55,354 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:55,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 86 transitions. [2022-04-27 11:43:55,355 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 86 transitions. [2022-04-27 11:43:55,453 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:43:55,471 INFO L225 Difference]: With dead ends: 598 [2022-04-27 11:43:55,471 INFO L226 Difference]: Without dead ends: 592 [2022-04-27 11:43:55,473 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 88 SyntacticMatches, 9 SemanticMatches, 64 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 767 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=261, Invalid=4029, Unknown=0, NotChecked=0, Total=4290 [2022-04-27 11:43:55,473 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 59 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 1514 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 1549 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 1514 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-27 11:43:55,473 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 178 Invalid, 1549 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 1514 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-27 11:43:55,474 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 592 states. [2022-04-27 11:43:59,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 592 to 590. [2022-04-27 11:43:59,001 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:43:59,002 INFO L82 GeneralOperation]: Start isEquivalent. First operand 592 states. Second operand has 590 states, 512 states have (on average 1.1484375) internal successors, (588), 558 states have internal predecessors, (588), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (51), 26 states have call predecessors, (51), 26 states have call successors, (51) [2022-04-27 11:43:59,002 INFO L74 IsIncluded]: Start isIncluded. First operand 592 states. Second operand has 590 states, 512 states have (on average 1.1484375) internal successors, (588), 558 states have internal predecessors, (588), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (51), 26 states have call predecessors, (51), 26 states have call successors, (51) [2022-04-27 11:43:59,002 INFO L87 Difference]: Start difference. First operand 592 states. Second operand has 590 states, 512 states have (on average 1.1484375) internal successors, (588), 558 states have internal predecessors, (588), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (51), 26 states have call predecessors, (51), 26 states have call successors, (51) [2022-04-27 11:43:59,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:43:59,015 INFO L93 Difference]: Finished difference Result 592 states and 669 transitions. [2022-04-27 11:43:59,015 INFO L276 IsEmpty]: Start isEmpty. Operand 592 states and 669 transitions. [2022-04-27 11:43:59,017 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:43:59,017 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:43:59,018 INFO L74 IsIncluded]: Start isIncluded. First operand has 590 states, 512 states have (on average 1.1484375) internal successors, (588), 558 states have internal predecessors, (588), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (51), 26 states have call predecessors, (51), 26 states have call successors, (51) Second operand 592 states. [2022-04-27 11:43:59,018 INFO L87 Difference]: Start difference. First operand has 590 states, 512 states have (on average 1.1484375) internal successors, (588), 558 states have internal predecessors, (588), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (51), 26 states have call predecessors, (51), 26 states have call successors, (51) Second operand 592 states. [2022-04-27 11:43:59,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:43:59,031 INFO L93 Difference]: Finished difference Result 592 states and 669 transitions. [2022-04-27 11:43:59,031 INFO L276 IsEmpty]: Start isEmpty. Operand 592 states and 669 transitions. [2022-04-27 11:43:59,033 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:43:59,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:43:59,034 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:43:59,034 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:43:59,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 590 states, 512 states have (on average 1.1484375) internal successors, (588), 558 states have internal predecessors, (588), 28 states have call successors, (28), 5 states have call predecessors, (28), 49 states have return successors, (51), 26 states have call predecessors, (51), 26 states have call successors, (51) [2022-04-27 11:43:59,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 590 states to 590 states and 667 transitions. [2022-04-27 11:43:59,050 INFO L78 Accepts]: Start accepts. Automaton has 590 states and 667 transitions. Word has length 53 [2022-04-27 11:43:59,050 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:43:59,050 INFO L495 AbstractCegarLoop]: Abstraction has 590 states and 667 transitions. [2022-04-27 11:43:59,050 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 41 states, 38 states have (on average 1.394736842105263) internal successors, (53), 35 states have internal predecessors, (53), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:43:59,050 INFO L276 IsEmpty]: Start isEmpty. Operand 590 states and 667 transitions. [2022-04-27 11:43:59,053 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-27 11:43:59,053 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:43:59,053 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:43:59,069 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (66)] Forceful destruction successful, exit code 0 [2022-04-27 11:43:59,257 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 66 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable74 [2022-04-27 11:43:59,257 INFO L420 AbstractCegarLoop]: === Iteration 76 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:43:59,257 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:43:59,258 INFO L85 PathProgramCache]: Analyzing trace with hash -317468980, now seen corresponding path program 66 times [2022-04-27 11:43:59,258 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:43:59,258 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [515988952] [2022-04-27 11:43:59,258 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:43:59,258 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:43:59,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:59,283 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:43:59,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:59,285 INFO L290 TraceCheckUtils]: 0: Hoare triple {133865#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {133820#true} is VALID [2022-04-27 11:43:59,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {133820#true} assume true; {133820#true} is VALID [2022-04-27 11:43:59,285 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {133820#true} {133820#true} #117#return; {133820#true} is VALID [2022-04-27 11:43:59,285 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:43:59,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:59,381 INFO L290 TraceCheckUtils]: 0: Hoare triple {133820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {133866#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:43:59,382 INFO L290 TraceCheckUtils]: 1: Hoare triple {133866#(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; {133866#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:43:59,382 INFO L290 TraceCheckUtils]: 2: Hoare triple {133866#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {133866#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:43:59,382 INFO L290 TraceCheckUtils]: 3: Hoare triple {133866#(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; {133867#(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-27 11:43:59,383 INFO L290 TraceCheckUtils]: 4: Hoare triple {133867#(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; {133868#(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-27 11:43:59,383 INFO L290 TraceCheckUtils]: 5: Hoare triple {133868#(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; {133869#(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-27 11:43:59,384 INFO L290 TraceCheckUtils]: 6: Hoare triple {133869#(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; {133870#(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-27 11:43:59,384 INFO L290 TraceCheckUtils]: 7: Hoare triple {133870#(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; {133871#(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-27 11:43:59,384 INFO L290 TraceCheckUtils]: 8: Hoare triple {133871#(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; {133872#(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-27 11:43:59,385 INFO L290 TraceCheckUtils]: 9: Hoare triple {133872#(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; {133873#(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-27 11:43:59,385 INFO L290 TraceCheckUtils]: 10: Hoare triple {133873#(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; {133874#(and (<= correct_version_~l~0 (* 8 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:43:59,385 INFO L290 TraceCheckUtils]: 11: Hoare triple {133874#(and (<= correct_version_~l~0 (* 8 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; {133875#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 9 |correct_version_#in~a|)))} is VALID [2022-04-27 11:43:59,386 INFO L290 TraceCheckUtils]: 12: Hoare triple {133875#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 9 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:43:59,386 INFO L290 TraceCheckUtils]: 13: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:43:59,386 INFO L290 TraceCheckUtils]: 14: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:43:59,386 INFO L290 TraceCheckUtils]: 15: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:43:59,387 INFO L290 TraceCheckUtils]: 16: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} #res := ~y~0; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:43:59,387 INFO L290 TraceCheckUtils]: 17: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} assume true; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:43:59,387 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} {133820#true} #111#return; {133844#(<= main_~m~0 (* main_~a~0 9))} is VALID [2022-04-27 11:43:59,387 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-27 11:43:59,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:59,592 INFO L290 TraceCheckUtils]: 0: Hoare triple {133820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {133877#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:43:59,593 INFO L290 TraceCheckUtils]: 1: Hoare triple {133877#(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; {133877#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:43:59,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {133877#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {133877#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:43:59,593 INFO L290 TraceCheckUtils]: 3: Hoare triple {133877#(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; {133878#(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-27 11:43:59,594 INFO L290 TraceCheckUtils]: 4: Hoare triple {133878#(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; {133879#(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-27 11:43:59,594 INFO L290 TraceCheckUtils]: 5: Hoare triple {133879#(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; {133880#(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-27 11:43:59,594 INFO L290 TraceCheckUtils]: 6: Hoare triple {133880#(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; {133881#(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-27 11:43:59,595 INFO L290 TraceCheckUtils]: 7: Hoare triple {133881#(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; {133882#(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-27 11:43:59,595 INFO L290 TraceCheckUtils]: 8: Hoare triple {133882#(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; {133883#(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-27 11:43:59,596 INFO L290 TraceCheckUtils]: 9: Hoare triple {133883#(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; {133884#(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-27 11:43:59,596 INFO L290 TraceCheckUtils]: 10: Hoare triple {133884#(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; {133885#(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-27 11:43:59,596 INFO L290 TraceCheckUtils]: 11: Hoare triple {133885#(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; {133886#(and (= |student_version_#in~a| student_version_~a) (<= (* 9 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:43:59,597 INFO L290 TraceCheckUtils]: 12: Hoare triple {133886#(and (= |student_version_#in~a| student_version_~a) (<= (* 9 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; {133887#(and (<= (+ (* |student_version_#in~a| 9) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:43:59,597 INFO L290 TraceCheckUtils]: 13: Hoare triple {133887#(and (<= (+ (* |student_version_#in~a| 9) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:43:59,597 INFO L290 TraceCheckUtils]: 14: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:43:59,597 INFO L290 TraceCheckUtils]: 15: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:43:59,598 INFO L290 TraceCheckUtils]: 16: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:43:59,598 INFO L290 TraceCheckUtils]: 17: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} #res := ~y~1; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:43:59,598 INFO L290 TraceCheckUtils]: 18: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} assume true; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:43:59,598 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} {133844#(<= main_~m~0 (* main_~a~0 9))} #113#return; {133821#false} is VALID [2022-04-27 11:43:59,599 INFO L272 TraceCheckUtils]: 0: Hoare triple {133820#true} call ULTIMATE.init(); {133865#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:43:59,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {133865#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {133820#true} is VALID [2022-04-27 11:43:59,599 INFO L290 TraceCheckUtils]: 2: Hoare triple {133820#true} assume true; {133820#true} is VALID [2022-04-27 11:43:59,599 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {133820#true} {133820#true} #117#return; {133820#true} is VALID [2022-04-27 11:43:59,599 INFO L272 TraceCheckUtils]: 4: Hoare triple {133820#true} call #t~ret10 := main(); {133820#true} is VALID [2022-04-27 11:43:59,599 INFO L290 TraceCheckUtils]: 5: Hoare triple {133820#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {133820#true} is VALID [2022-04-27 11:43:59,599 INFO L290 TraceCheckUtils]: 6: Hoare triple {133820#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {133820#true} is VALID [2022-04-27 11:43:59,599 INFO L272 TraceCheckUtils]: 7: Hoare triple {133820#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {133820#true} is VALID [2022-04-27 11:43:59,599 INFO L290 TraceCheckUtils]: 8: Hoare triple {133820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {133866#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:43:59,600 INFO L290 TraceCheckUtils]: 9: Hoare triple {133866#(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; {133866#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:43:59,600 INFO L290 TraceCheckUtils]: 10: Hoare triple {133866#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {133866#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:43:59,600 INFO L290 TraceCheckUtils]: 11: Hoare triple {133866#(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; {133867#(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-27 11:43:59,601 INFO L290 TraceCheckUtils]: 12: Hoare triple {133867#(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; {133868#(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-27 11:43:59,601 INFO L290 TraceCheckUtils]: 13: Hoare triple {133868#(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; {133869#(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-27 11:43:59,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {133869#(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; {133870#(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-27 11:43:59,602 INFO L290 TraceCheckUtils]: 15: Hoare triple {133870#(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; {133871#(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-27 11:43:59,602 INFO L290 TraceCheckUtils]: 16: Hoare triple {133871#(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; {133872#(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-27 11:43:59,603 INFO L290 TraceCheckUtils]: 17: Hoare triple {133872#(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; {133873#(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-27 11:43:59,603 INFO L290 TraceCheckUtils]: 18: Hoare triple {133873#(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; {133874#(and (<= correct_version_~l~0 (* 8 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:43:59,603 INFO L290 TraceCheckUtils]: 19: Hoare triple {133874#(and (<= correct_version_~l~0 (* 8 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; {133875#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 9 |correct_version_#in~a|)))} is VALID [2022-04-27 11:43:59,604 INFO L290 TraceCheckUtils]: 20: Hoare triple {133875#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 9 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:43:59,604 INFO L290 TraceCheckUtils]: 21: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:43:59,604 INFO L290 TraceCheckUtils]: 22: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:43:59,604 INFO L290 TraceCheckUtils]: 23: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:43:59,605 INFO L290 TraceCheckUtils]: 24: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} #res := ~y~0; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:43:59,605 INFO L290 TraceCheckUtils]: 25: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} assume true; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:43:59,605 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} {133820#true} #111#return; {133844#(<= main_~m~0 (* main_~a~0 9))} is VALID [2022-04-27 11:43:59,605 INFO L290 TraceCheckUtils]: 27: Hoare triple {133844#(<= main_~m~0 (* main_~a~0 9))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {133844#(<= main_~m~0 (* main_~a~0 9))} is VALID [2022-04-27 11:43:59,606 INFO L272 TraceCheckUtils]: 28: Hoare triple {133844#(<= main_~m~0 (* main_~a~0 9))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {133820#true} is VALID [2022-04-27 11:43:59,606 INFO L290 TraceCheckUtils]: 29: Hoare triple {133820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {133877#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:43:59,607 INFO L290 TraceCheckUtils]: 30: Hoare triple {133877#(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; {133877#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:43:59,608 INFO L290 TraceCheckUtils]: 31: Hoare triple {133877#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {133877#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:43:59,608 INFO L290 TraceCheckUtils]: 32: Hoare triple {133877#(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; {133878#(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-27 11:43:59,608 INFO L290 TraceCheckUtils]: 33: Hoare triple {133878#(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; {133879#(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-27 11:43:59,610 INFO L290 TraceCheckUtils]: 34: Hoare triple {133879#(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; {133880#(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-27 11:43:59,610 INFO L290 TraceCheckUtils]: 35: Hoare triple {133880#(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; {133881#(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-27 11:43:59,611 INFO L290 TraceCheckUtils]: 36: Hoare triple {133881#(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; {133882#(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-27 11:43:59,611 INFO L290 TraceCheckUtils]: 37: Hoare triple {133882#(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; {133883#(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-27 11:43:59,612 INFO L290 TraceCheckUtils]: 38: Hoare triple {133883#(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; {133884#(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-27 11:43:59,612 INFO L290 TraceCheckUtils]: 39: Hoare triple {133884#(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; {133885#(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-27 11:43:59,612 INFO L290 TraceCheckUtils]: 40: Hoare triple {133885#(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; {133886#(and (= |student_version_#in~a| student_version_~a) (<= (* 9 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:43:59,613 INFO L290 TraceCheckUtils]: 41: Hoare triple {133886#(and (= |student_version_#in~a| student_version_~a) (<= (* 9 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; {133887#(and (<= (+ (* |student_version_#in~a| 9) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:43:59,613 INFO L290 TraceCheckUtils]: 42: Hoare triple {133887#(and (<= (+ (* |student_version_#in~a| 9) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:43:59,613 INFO L290 TraceCheckUtils]: 43: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:43:59,613 INFO L290 TraceCheckUtils]: 44: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:43:59,613 INFO L290 TraceCheckUtils]: 45: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:43:59,614 INFO L290 TraceCheckUtils]: 46: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} #res := ~y~1; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:43:59,614 INFO L290 TraceCheckUtils]: 47: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} assume true; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:43:59,614 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} {133844#(<= main_~m~0 (* main_~a~0 9))} #113#return; {133821#false} is VALID [2022-04-27 11:43:59,614 INFO L290 TraceCheckUtils]: 49: Hoare triple {133821#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {133821#false} is VALID [2022-04-27 11:43:59,614 INFO L272 TraceCheckUtils]: 50: Hoare triple {133821#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {133821#false} is VALID [2022-04-27 11:43:59,614 INFO L290 TraceCheckUtils]: 51: Hoare triple {133821#false} ~cond := #in~cond; {133821#false} is VALID [2022-04-27 11:43:59,615 INFO L290 TraceCheckUtils]: 52: Hoare triple {133821#false} assume 0 == ~cond; {133821#false} is VALID [2022-04-27 11:43:59,615 INFO L290 TraceCheckUtils]: 53: Hoare triple {133821#false} assume !false; {133821#false} is VALID [2022-04-27 11:43:59,615 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:43:59,615 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:43:59,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [515988952] [2022-04-27 11:43:59,616 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [515988952] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:43:59,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2028341322] [2022-04-27 11:43:59,616 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-27 11:43:59,616 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:43:59,616 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:43:59,617 INFO L229 MonitoredProcess]: Starting monitored process 67 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:43:59,621 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (67)] Waiting until timeout for monitored process [2022-04-27 11:43:59,707 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-27 11:43:59,708 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:43:59,709 INFO L263 TraceCheckSpWp]: Trace formula consists of 263 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-27 11:43:59,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:43:59,720 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:44:00,705 INFO L272 TraceCheckUtils]: 0: Hoare triple {133820#true} call ULTIMATE.init(); {133820#true} is VALID [2022-04-27 11:44:00,706 INFO L290 TraceCheckUtils]: 1: Hoare triple {133820#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {133820#true} is VALID [2022-04-27 11:44:00,706 INFO L290 TraceCheckUtils]: 2: Hoare triple {133820#true} assume true; {133820#true} is VALID [2022-04-27 11:44:00,706 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {133820#true} {133820#true} #117#return; {133820#true} is VALID [2022-04-27 11:44:00,706 INFO L272 TraceCheckUtils]: 4: Hoare triple {133820#true} call #t~ret10 := main(); {133820#true} is VALID [2022-04-27 11:44:00,706 INFO L290 TraceCheckUtils]: 5: Hoare triple {133820#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {133820#true} is VALID [2022-04-27 11:44:00,706 INFO L290 TraceCheckUtils]: 6: Hoare triple {133820#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {133820#true} is VALID [2022-04-27 11:44:00,706 INFO L272 TraceCheckUtils]: 7: Hoare triple {133820#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {133820#true} is VALID [2022-04-27 11:44:00,706 INFO L290 TraceCheckUtils]: 8: Hoare triple {133820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {133916#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:44:00,707 INFO L290 TraceCheckUtils]: 9: Hoare triple {133916#(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; {133916#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:44:00,707 INFO L290 TraceCheckUtils]: 10: Hoare triple {133916#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {133916#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:44:00,707 INFO L290 TraceCheckUtils]: 11: Hoare triple {133916#(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; {133926#(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-27 11:44:00,708 INFO L290 TraceCheckUtils]: 12: Hoare triple {133926#(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; {133930#(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-27 11:44:00,708 INFO L290 TraceCheckUtils]: 13: Hoare triple {133930#(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; {133934#(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-27 11:44:00,709 INFO L290 TraceCheckUtils]: 14: Hoare triple {133934#(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; {133938#(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-27 11:44:00,719 INFO L290 TraceCheckUtils]: 15: Hoare triple {133938#(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; {133942#(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-27 11:44:00,719 INFO L290 TraceCheckUtils]: 16: Hoare triple {133942#(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; {133946#(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-27 11:44:00,720 INFO L290 TraceCheckUtils]: 17: Hoare triple {133946#(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; {133950#(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-27 11:44:00,720 INFO L290 TraceCheckUtils]: 18: Hoare triple {133950#(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; {133954#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 8 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:44:00,721 INFO L290 TraceCheckUtils]: 19: Hoare triple {133954#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 8 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {133958#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 9)) |correct_version_#in~a|))} is VALID [2022-04-27 11:44:00,721 INFO L290 TraceCheckUtils]: 20: Hoare triple {133958#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 9)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:44:00,721 INFO L290 TraceCheckUtils]: 21: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:44:00,721 INFO L290 TraceCheckUtils]: 22: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:44:00,722 INFO L290 TraceCheckUtils]: 23: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:44:00,722 INFO L290 TraceCheckUtils]: 24: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} #res := ~y~0; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:44:00,722 INFO L290 TraceCheckUtils]: 25: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} assume true; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:44:00,722 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} {133820#true} #111#return; {133844#(<= main_~m~0 (* main_~a~0 9))} is VALID [2022-04-27 11:44:00,723 INFO L290 TraceCheckUtils]: 27: Hoare triple {133844#(<= main_~m~0 (* main_~a~0 9))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {133844#(<= main_~m~0 (* main_~a~0 9))} is VALID [2022-04-27 11:44:00,723 INFO L272 TraceCheckUtils]: 28: Hoare triple {133844#(<= main_~m~0 (* main_~a~0 9))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {133820#true} is VALID [2022-04-27 11:44:00,723 INFO L290 TraceCheckUtils]: 29: Hoare triple {133820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {133989#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:44:00,723 INFO L290 TraceCheckUtils]: 30: Hoare triple {133989#(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; {133989#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:44:00,723 INFO L290 TraceCheckUtils]: 31: Hoare triple {133989#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {133989#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:44:00,724 INFO L290 TraceCheckUtils]: 32: Hoare triple {133989#(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; {133999#(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-27 11:44:00,724 INFO L290 TraceCheckUtils]: 33: Hoare triple {133999#(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; {134003#(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-27 11:44:00,725 INFO L290 TraceCheckUtils]: 34: Hoare triple {134003#(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; {134007#(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-27 11:44:00,725 INFO L290 TraceCheckUtils]: 35: Hoare triple {134007#(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; {134011#(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-27 11:44:00,726 INFO L290 TraceCheckUtils]: 36: Hoare triple {134011#(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; {134015#(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-27 11:44:00,726 INFO L290 TraceCheckUtils]: 37: Hoare triple {134015#(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; {134019#(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-27 11:44:00,726 INFO L290 TraceCheckUtils]: 38: Hoare triple {134019#(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; {134023#(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-27 11:44:00,727 INFO L290 TraceCheckUtils]: 39: Hoare triple {134023#(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; {134027#(and (<= student_version_~m |student_version_#in~m|) (<= (* 8 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:44:00,727 INFO L290 TraceCheckUtils]: 40: Hoare triple {134027#(and (<= student_version_~m |student_version_#in~m|) (<= (* 8 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; {134031#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 9)))} is VALID [2022-04-27 11:44:00,728 INFO L290 TraceCheckUtils]: 41: Hoare triple {134031#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 9)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:44:00,728 INFO L290 TraceCheckUtils]: 42: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:44:00,728 INFO L290 TraceCheckUtils]: 43: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:44:00,728 INFO L290 TraceCheckUtils]: 44: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:44:00,728 INFO L290 TraceCheckUtils]: 45: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:44:00,729 INFO L290 TraceCheckUtils]: 46: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} #res := ~y~1; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:44:00,729 INFO L290 TraceCheckUtils]: 47: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} assume true; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:44:00,729 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} {133844#(<= main_~m~0 (* main_~a~0 9))} #113#return; {133821#false} is VALID [2022-04-27 11:44:00,729 INFO L290 TraceCheckUtils]: 49: Hoare triple {133821#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {133821#false} is VALID [2022-04-27 11:44:00,729 INFO L272 TraceCheckUtils]: 50: Hoare triple {133821#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {133821#false} is VALID [2022-04-27 11:44:00,729 INFO L290 TraceCheckUtils]: 51: Hoare triple {133821#false} ~cond := #in~cond; {133821#false} is VALID [2022-04-27 11:44:00,729 INFO L290 TraceCheckUtils]: 52: Hoare triple {133821#false} assume 0 == ~cond; {133821#false} is VALID [2022-04-27 11:44:00,729 INFO L290 TraceCheckUtils]: 53: Hoare triple {133821#false} assume !false; {133821#false} is VALID [2022-04-27 11:44:00,730 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:44:00,730 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:44:02,322 INFO L290 TraceCheckUtils]: 53: Hoare triple {133821#false} assume !false; {133821#false} is VALID [2022-04-27 11:44:02,322 INFO L290 TraceCheckUtils]: 52: Hoare triple {133821#false} assume 0 == ~cond; {133821#false} is VALID [2022-04-27 11:44:02,322 INFO L290 TraceCheckUtils]: 51: Hoare triple {133821#false} ~cond := #in~cond; {133821#false} is VALID [2022-04-27 11:44:02,322 INFO L272 TraceCheckUtils]: 50: Hoare triple {133821#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {133821#false} is VALID [2022-04-27 11:44:02,322 INFO L290 TraceCheckUtils]: 49: Hoare triple {133821#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {133821#false} is VALID [2022-04-27 11:44:02,323 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} {133844#(<= main_~m~0 (* main_~a~0 9))} #113#return; {133821#false} is VALID [2022-04-27 11:44:02,323 INFO L290 TraceCheckUtils]: 47: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} assume true; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:44:02,323 INFO L290 TraceCheckUtils]: 46: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} #res := ~y~1; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:44:02,323 INFO L290 TraceCheckUtils]: 45: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:44:02,323 INFO L290 TraceCheckUtils]: 44: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:44:02,323 INFO L290 TraceCheckUtils]: 43: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:44:02,324 INFO L290 TraceCheckUtils]: 42: Hoare triple {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:44:02,324 INFO L290 TraceCheckUtils]: 41: Hoare triple {134110#(or (<= (+ (* |student_version_#in~a| 9) 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; {133888#(<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:44:02,324 INFO L290 TraceCheckUtils]: 40: Hoare triple {134114#(or (<= student_version_~m (+ student_version_~l~1 student_version_~a)) (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {134110#(or (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-27 11:44:02,325 INFO L290 TraceCheckUtils]: 39: Hoare triple {134118#(or (<= (+ (* |student_version_#in~a| 9) 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; {134114#(or (<= student_version_~m (+ student_version_~l~1 student_version_~a)) (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|))} is VALID [2022-04-27 11:44:02,325 INFO L290 TraceCheckUtils]: 38: Hoare triple {134122#(or (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {134118#(or (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} is VALID [2022-04-27 11:44:02,326 INFO L290 TraceCheckUtils]: 37: Hoare triple {134126#(or (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))) (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {134122#(or (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|))} is VALID [2022-04-27 11:44:02,326 INFO L290 TraceCheckUtils]: 36: Hoare triple {134130#(or (<= student_version_~m (+ (* 5 student_version_~a) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {134126#(or (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))) (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|))} is VALID [2022-04-27 11:44:02,326 INFO L290 TraceCheckUtils]: 35: Hoare triple {134134#(or (<= (+ (* |student_version_#in~a| 9) 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; {134130#(or (<= student_version_~m (+ (* 5 student_version_~a) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|))} is VALID [2022-04-27 11:44:02,327 INFO L290 TraceCheckUtils]: 34: Hoare triple {134138#(or (<= (+ (* |student_version_#in~a| 9) 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; {134134#(or (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 6 student_version_~a) student_version_~l~1)))} is VALID [2022-04-27 11:44:02,327 INFO L290 TraceCheckUtils]: 33: Hoare triple {134142#(or (<= (+ (* |student_version_#in~a| 9) 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; {134138#(or (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 7 student_version_~a) student_version_~l~1)))} is VALID [2022-04-27 11:44:02,328 INFO L290 TraceCheckUtils]: 32: Hoare triple {134146#(or (<= student_version_~m (+ student_version_~l~1 (* 9 student_version_~a))) (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {134142#(or (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 8 student_version_~a) student_version_~l~1)))} is VALID [2022-04-27 11:44:02,328 INFO L290 TraceCheckUtils]: 31: Hoare triple {134146#(or (<= student_version_~m (+ student_version_~l~1 (* 9 student_version_~a))) (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|))} assume !(~b~1 < ~n); {134146#(or (<= student_version_~m (+ student_version_~l~1 (* 9 student_version_~a))) (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|))} is VALID [2022-04-27 11:44:02,328 INFO L290 TraceCheckUtils]: 30: Hoare triple {134146#(or (<= student_version_~m (+ student_version_~l~1 (* 9 student_version_~a))) (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {134146#(or (<= student_version_~m (+ student_version_~l~1 (* 9 student_version_~a))) (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|))} is VALID [2022-04-27 11:44:02,329 INFO L290 TraceCheckUtils]: 29: Hoare triple {133820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {134146#(or (<= student_version_~m (+ student_version_~l~1 (* 9 student_version_~a))) (<= (+ (* |student_version_#in~a| 9) 1) |student_version_#in~m|))} is VALID [2022-04-27 11:44:02,329 INFO L272 TraceCheckUtils]: 28: Hoare triple {133844#(<= main_~m~0 (* main_~a~0 9))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {133820#true} is VALID [2022-04-27 11:44:02,329 INFO L290 TraceCheckUtils]: 27: Hoare triple {133844#(<= main_~m~0 (* main_~a~0 9))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {133844#(<= main_~m~0 (* main_~a~0 9))} is VALID [2022-04-27 11:44:02,329 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} {133820#true} #111#return; {133844#(<= main_~m~0 (* main_~a~0 9))} is VALID [2022-04-27 11:44:02,330 INFO L290 TraceCheckUtils]: 25: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} assume true; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:44:02,330 INFO L290 TraceCheckUtils]: 24: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} #res := ~y~0; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:44:02,330 INFO L290 TraceCheckUtils]: 23: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:44:02,330 INFO L290 TraceCheckUtils]: 22: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:44:02,330 INFO L290 TraceCheckUtils]: 21: Hoare triple {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:44:02,331 INFO L290 TraceCheckUtils]: 20: Hoare triple {134183#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} assume !(~l~0 < ~m); {133876#(<= |correct_version_#in~m| (* 9 |correct_version_#in~a|))} is VALID [2022-04-27 11:44:02,331 INFO L290 TraceCheckUtils]: 19: Hoare triple {134187#(or (<= |correct_version_#in~m| (* 9 |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; {134183#(or (< correct_version_~l~0 correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} is VALID [2022-04-27 11:44:02,332 INFO L290 TraceCheckUtils]: 18: Hoare triple {134191#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {134187#(or (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-27 11:44:02,332 INFO L290 TraceCheckUtils]: 17: Hoare triple {134195#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {134191#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} is VALID [2022-04-27 11:44:02,332 INFO L290 TraceCheckUtils]: 16: Hoare triple {134199#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {134195#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} is VALID [2022-04-27 11:44:02,333 INFO L290 TraceCheckUtils]: 15: Hoare triple {134203#(or (< (+ correct_version_~l~0 (* 5 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {134199#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} is VALID [2022-04-27 11:44:02,333 INFO L290 TraceCheckUtils]: 14: Hoare triple {134207#(or (<= |correct_version_#in~m| (* 9 |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; {134203#(or (< (+ correct_version_~l~0 (* 5 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} is VALID [2022-04-27 11:44:02,334 INFO L290 TraceCheckUtils]: 13: Hoare triple {134211#(or (< (+ (* 7 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {134207#(or (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 6 correct_version_~a)) correct_version_~m))} is VALID [2022-04-27 11:44:02,334 INFO L290 TraceCheckUtils]: 12: Hoare triple {134215#(or (<= |correct_version_#in~m| (* 9 |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; {134211#(or (< (+ (* 7 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} is VALID [2022-04-27 11:44:02,334 INFO L290 TraceCheckUtils]: 11: Hoare triple {134219#(or (< (+ (* 9 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {134215#(or (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)) (< (+ correct_version_~l~0 (* 8 correct_version_~a)) correct_version_~m))} is VALID [2022-04-27 11:44:02,335 INFO L290 TraceCheckUtils]: 10: Hoare triple {134219#(or (< (+ (* 9 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} assume !(~b~0 < ~n); {134219#(or (< (+ (* 9 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} is VALID [2022-04-27 11:44:02,335 INFO L290 TraceCheckUtils]: 9: Hoare triple {134219#(or (< (+ (* 9 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {134219#(or (< (+ (* 9 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} is VALID [2022-04-27 11:44:02,335 INFO L290 TraceCheckUtils]: 8: Hoare triple {133820#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {134219#(or (< (+ (* 9 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* 9 |correct_version_#in~a|)))} is VALID [2022-04-27 11:44:02,335 INFO L272 TraceCheckUtils]: 7: Hoare triple {133820#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {133820#true} is VALID [2022-04-27 11:44:02,335 INFO L290 TraceCheckUtils]: 6: Hoare triple {133820#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {133820#true} is VALID [2022-04-27 11:44:02,335 INFO L290 TraceCheckUtils]: 5: Hoare triple {133820#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {133820#true} is VALID [2022-04-27 11:44:02,335 INFO L272 TraceCheckUtils]: 4: Hoare triple {133820#true} call #t~ret10 := main(); {133820#true} is VALID [2022-04-27 11:44:02,336 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {133820#true} {133820#true} #117#return; {133820#true} is VALID [2022-04-27 11:44:02,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {133820#true} assume true; {133820#true} is VALID [2022-04-27 11:44:02,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {133820#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {133820#true} is VALID [2022-04-27 11:44:02,336 INFO L272 TraceCheckUtils]: 0: Hoare triple {133820#true} call ULTIMATE.init(); {133820#true} is VALID [2022-04-27 11:44:02,336 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 10 proven. 90 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:44:02,336 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2028341322] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:44:02,336 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:44:02,336 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 25, 25] total 67 [2022-04-27 11:44:02,336 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2124804955] [2022-04-27 11:44:02,336 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:44:02,337 INFO L78 Accepts]: Start accepts. Automaton has has 67 states, 67 states have (on average 1.492537313432836) internal successors, (100), 66 states have internal predecessors, (100), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 54 [2022-04-27 11:44:02,337 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:44:02,337 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 67 states, 67 states have (on average 1.492537313432836) internal successors, (100), 66 states have internal predecessors, (100), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:44:02,383 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-27 11:44:02,384 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 67 states [2022-04-27 11:44:02,384 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:44:02,384 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 67 interpolants. [2022-04-27 11:44:02,384 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=222, Invalid=4200, Unknown=0, NotChecked=0, Total=4422 [2022-04-27 11:44:02,390 INFO L87 Difference]: Start difference. First operand 590 states and 667 transitions. Second operand has 67 states, 67 states have (on average 1.492537313432836) internal successors, (100), 66 states have internal predecessors, (100), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:44:17,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:44:17,933 INFO L93 Difference]: Finished difference Result 682 states and 776 transitions. [2022-04-27 11:44:17,933 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 43 states. [2022-04-27 11:44:17,934 INFO L78 Accepts]: Start accepts. Automaton has has 67 states, 67 states have (on average 1.492537313432836) internal successors, (100), 66 states have internal predecessors, (100), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 54 [2022-04-27 11:44:17,934 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:44:17,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 67 states have (on average 1.492537313432836) internal successors, (100), 66 states have internal predecessors, (100), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:44:17,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 194 transitions. [2022-04-27 11:44:17,935 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 67 states have (on average 1.492537313432836) internal successors, (100), 66 states have internal predecessors, (100), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:44:17,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 194 transitions. [2022-04-27 11:44:17,936 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 194 transitions. [2022-04-27 11:44:18,058 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 194 edges. 194 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:44:18,082 INFO L225 Difference]: With dead ends: 682 [2022-04-27 11:44:18,083 INFO L226 Difference]: Without dead ends: 668 [2022-04-27 11:44:18,085 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 177 GetRequests, 67 SyntacticMatches, 5 SemanticMatches, 105 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1612 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=740, Invalid=10602, Unknown=0, NotChecked=0, Total=11342 [2022-04-27 11:44:18,086 INFO L413 NwaCegarLoop]: 114 mSDtfsCounter, 1279 mSDsluCounter, 172 mSDsCounter, 0 mSdLazyCounter, 5640 mSolverCounterSat, 144 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1284 SdHoareTripleChecker+Valid, 286 SdHoareTripleChecker+Invalid, 5784 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 144 IncrementalHoareTripleChecker+Valid, 5640 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:44:18,086 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1284 Valid, 286 Invalid, 5784 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [144 Valid, 5640 Invalid, 0 Unknown, 0 Unchecked, 4.2s Time] [2022-04-27 11:44:18,086 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 668 states. [2022-04-27 11:44:22,367 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 668 to 659. [2022-04-27 11:44:22,367 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:44:22,368 INFO L82 GeneralOperation]: Start isEquivalent. First operand 668 states. Second operand has 659 states, 572 states have (on average 1.1468531468531469) internal successors, (656), 624 states have internal predecessors, (656), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (60), 29 states have call predecessors, (60), 29 states have call successors, (60) [2022-04-27 11:44:22,368 INFO L74 IsIncluded]: Start isIncluded. First operand 668 states. Second operand has 659 states, 572 states have (on average 1.1468531468531469) internal successors, (656), 624 states have internal predecessors, (656), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (60), 29 states have call predecessors, (60), 29 states have call successors, (60) [2022-04-27 11:44:22,369 INFO L87 Difference]: Start difference. First operand 668 states. Second operand has 659 states, 572 states have (on average 1.1468531468531469) internal successors, (656), 624 states have internal predecessors, (656), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (60), 29 states have call predecessors, (60), 29 states have call successors, (60) [2022-04-27 11:44:22,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:44:22,384 INFO L93 Difference]: Finished difference Result 668 states and 757 transitions. [2022-04-27 11:44:22,384 INFO L276 IsEmpty]: Start isEmpty. Operand 668 states and 757 transitions. [2022-04-27 11:44:22,387 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:44:22,387 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:44:22,388 INFO L74 IsIncluded]: Start isIncluded. First operand has 659 states, 572 states have (on average 1.1468531468531469) internal successors, (656), 624 states have internal predecessors, (656), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (60), 29 states have call predecessors, (60), 29 states have call successors, (60) Second operand 668 states. [2022-04-27 11:44:22,388 INFO L87 Difference]: Start difference. First operand has 659 states, 572 states have (on average 1.1468531468531469) internal successors, (656), 624 states have internal predecessors, (656), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (60), 29 states have call predecessors, (60), 29 states have call successors, (60) Second operand 668 states. [2022-04-27 11:44:22,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:44:22,403 INFO L93 Difference]: Finished difference Result 668 states and 757 transitions. [2022-04-27 11:44:22,404 INFO L276 IsEmpty]: Start isEmpty. Operand 668 states and 757 transitions. [2022-04-27 11:44:22,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:44:22,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:44:22,407 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:44:22,407 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:44:22,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 659 states, 572 states have (on average 1.1468531468531469) internal successors, (656), 624 states have internal predecessors, (656), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (60), 29 states have call predecessors, (60), 29 states have call successors, (60) [2022-04-27 11:44:22,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 659 states to 659 states and 747 transitions. [2022-04-27 11:44:22,427 INFO L78 Accepts]: Start accepts. Automaton has 659 states and 747 transitions. Word has length 54 [2022-04-27 11:44:22,427 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:44:22,427 INFO L495 AbstractCegarLoop]: Abstraction has 659 states and 747 transitions. [2022-04-27 11:44:22,427 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 67 states, 67 states have (on average 1.492537313432836) internal successors, (100), 66 states have internal predecessors, (100), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:44:22,427 INFO L276 IsEmpty]: Start isEmpty. Operand 659 states and 747 transitions. [2022-04-27 11:44:22,432 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-27 11:44:22,432 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:44:22,432 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:44:22,449 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (67)] Forceful destruction successful, exit code 0 [2022-04-27 11:44:22,647 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 67 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable75 [2022-04-27 11:44:22,647 INFO L420 AbstractCegarLoop]: === Iteration 77 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:44:22,648 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:44:22,648 INFO L85 PathProgramCache]: Analyzing trace with hash 1122563567, now seen corresponding path program 67 times [2022-04-27 11:44:22,648 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:44:22,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [265968541] [2022-04-27 11:44:22,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:44:22,648 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:44:22,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:22,680 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:44:22,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:22,682 INFO L290 TraceCheckUtils]: 0: Hoare triple {137666#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {137621#true} is VALID [2022-04-27 11:44:22,682 INFO L290 TraceCheckUtils]: 1: Hoare triple {137621#true} assume true; {137621#true} is VALID [2022-04-27 11:44:22,682 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {137621#true} {137621#true} #117#return; {137621#true} is VALID [2022-04-27 11:44:22,682 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:44:22,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:22,809 INFO L290 TraceCheckUtils]: 0: Hoare triple {137621#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {137667#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:44:22,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {137667#(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; {137667#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:44:22,810 INFO L290 TraceCheckUtils]: 2: Hoare triple {137667#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {137667#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:44:22,810 INFO L290 TraceCheckUtils]: 3: Hoare triple {137667#(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; {137668#(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-27 11:44:22,811 INFO L290 TraceCheckUtils]: 4: Hoare triple {137668#(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; {137669#(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-27 11:44:22,811 INFO L290 TraceCheckUtils]: 5: Hoare triple {137669#(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; {137670#(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-27 11:44:22,812 INFO L290 TraceCheckUtils]: 6: Hoare triple {137670#(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; {137671#(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-27 11:44:22,812 INFO L290 TraceCheckUtils]: 7: Hoare triple {137671#(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; {137672#(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-27 11:44:22,813 INFO L290 TraceCheckUtils]: 8: Hoare triple {137672#(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; {137673#(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-27 11:44:22,813 INFO L290 TraceCheckUtils]: 9: Hoare triple {137673#(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; {137674#(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-27 11:44:22,813 INFO L290 TraceCheckUtils]: 10: Hoare triple {137674#(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; {137675#(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-27 11:44:22,814 INFO L290 TraceCheckUtils]: 11: Hoare triple {137675#(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; {137676#(and (<= (* 9 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-27 11:44:22,814 INFO L290 TraceCheckUtils]: 12: Hoare triple {137676#(and (<= (* 9 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; {137677#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 9 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-27 11:44:22,814 INFO L290 TraceCheckUtils]: 13: Hoare triple {137677#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 9 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:22,815 INFO L290 TraceCheckUtils]: 14: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:22,815 INFO L290 TraceCheckUtils]: 15: Hoare triple {137678#(<= (+ (* 9 |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; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:22,815 INFO L290 TraceCheckUtils]: 16: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:22,816 INFO L290 TraceCheckUtils]: 17: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:22,816 INFO L290 TraceCheckUtils]: 18: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:22,816 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {137621#true} #111#return; {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} is VALID [2022-04-27 11:44:22,816 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-27 11:44:22,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:22,997 INFO L290 TraceCheckUtils]: 0: Hoare triple {137621#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {137679#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:44:22,998 INFO L290 TraceCheckUtils]: 1: Hoare triple {137679#(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; {137679#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:44:22,998 INFO L290 TraceCheckUtils]: 2: Hoare triple {137679#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {137679#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:44:22,998 INFO L290 TraceCheckUtils]: 3: Hoare triple {137679#(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; {137680#(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-27 11:44:22,999 INFO L290 TraceCheckUtils]: 4: Hoare triple {137680#(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; {137681#(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-27 11:44:22,999 INFO L290 TraceCheckUtils]: 5: Hoare triple {137681#(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; {137682#(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-27 11:44:23,000 INFO L290 TraceCheckUtils]: 6: Hoare triple {137682#(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; {137683#(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-27 11:44:23,000 INFO L290 TraceCheckUtils]: 7: Hoare triple {137683#(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; {137684#(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-27 11:44:23,001 INFO L290 TraceCheckUtils]: 8: Hoare triple {137684#(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; {137685#(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-27 11:44:23,001 INFO L290 TraceCheckUtils]: 9: Hoare triple {137685#(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; {137686#(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-27 11:44:23,001 INFO L290 TraceCheckUtils]: 10: Hoare triple {137686#(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; {137687#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 8 student_version_~a)))} is VALID [2022-04-27 11:44:23,002 INFO L290 TraceCheckUtils]: 11: Hoare triple {137687#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 8 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {137688#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 9)))} is VALID [2022-04-27 11:44:23,002 INFO L290 TraceCheckUtils]: 12: Hoare triple {137688#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 9)))} assume !(~l~1 < ~m); {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:23,002 INFO L290 TraceCheckUtils]: 13: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} ~x~1 := 0;~y~1 := 0; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:23,003 INFO L290 TraceCheckUtils]: 14: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:23,003 INFO L290 TraceCheckUtils]: 15: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} assume !(~x~1 < ~i~1); {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:23,003 INFO L290 TraceCheckUtils]: 16: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} #res := ~y~1; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:23,003 INFO L290 TraceCheckUtils]: 17: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} assume true; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:23,004 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} #113#return; {137622#false} is VALID [2022-04-27 11:44:23,004 INFO L272 TraceCheckUtils]: 0: Hoare triple {137621#true} call ULTIMATE.init(); {137666#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:44:23,004 INFO L290 TraceCheckUtils]: 1: Hoare triple {137666#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {137621#true} is VALID [2022-04-27 11:44:23,004 INFO L290 TraceCheckUtils]: 2: Hoare triple {137621#true} assume true; {137621#true} is VALID [2022-04-27 11:44:23,004 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {137621#true} {137621#true} #117#return; {137621#true} is VALID [2022-04-27 11:44:23,004 INFO L272 TraceCheckUtils]: 4: Hoare triple {137621#true} call #t~ret10 := main(); {137621#true} is VALID [2022-04-27 11:44:23,004 INFO L290 TraceCheckUtils]: 5: Hoare triple {137621#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {137621#true} is VALID [2022-04-27 11:44:23,005 INFO L290 TraceCheckUtils]: 6: Hoare triple {137621#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {137621#true} is VALID [2022-04-27 11:44:23,005 INFO L272 TraceCheckUtils]: 7: Hoare triple {137621#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {137621#true} is VALID [2022-04-27 11:44:23,005 INFO L290 TraceCheckUtils]: 8: Hoare triple {137621#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {137667#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:44:23,005 INFO L290 TraceCheckUtils]: 9: Hoare triple {137667#(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; {137667#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:44:23,005 INFO L290 TraceCheckUtils]: 10: Hoare triple {137667#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {137667#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:44:23,006 INFO L290 TraceCheckUtils]: 11: Hoare triple {137667#(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; {137668#(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-27 11:44:23,006 INFO L290 TraceCheckUtils]: 12: Hoare triple {137668#(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; {137669#(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-27 11:44:23,007 INFO L290 TraceCheckUtils]: 13: Hoare triple {137669#(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; {137670#(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-27 11:44:23,007 INFO L290 TraceCheckUtils]: 14: Hoare triple {137670#(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; {137671#(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-27 11:44:23,008 INFO L290 TraceCheckUtils]: 15: Hoare triple {137671#(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; {137672#(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-27 11:44:23,008 INFO L290 TraceCheckUtils]: 16: Hoare triple {137672#(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; {137673#(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-27 11:44:23,008 INFO L290 TraceCheckUtils]: 17: Hoare triple {137673#(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; {137674#(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-27 11:44:23,009 INFO L290 TraceCheckUtils]: 18: Hoare triple {137674#(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; {137675#(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-27 11:44:23,009 INFO L290 TraceCheckUtils]: 19: Hoare triple {137675#(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; {137676#(and (<= (* 9 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-27 11:44:23,010 INFO L290 TraceCheckUtils]: 20: Hoare triple {137676#(and (<= (* 9 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; {137677#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 9 |correct_version_#in~a|) 1) correct_version_~m))} is VALID [2022-04-27 11:44:23,010 INFO L290 TraceCheckUtils]: 21: Hoare triple {137677#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* 9 |correct_version_#in~a|) 1) correct_version_~m))} assume !(~l~0 < ~m); {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:23,010 INFO L290 TraceCheckUtils]: 22: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:23,011 INFO L290 TraceCheckUtils]: 23: Hoare triple {137678#(<= (+ (* 9 |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; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:23,011 INFO L290 TraceCheckUtils]: 24: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:23,011 INFO L290 TraceCheckUtils]: 25: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:23,011 INFO L290 TraceCheckUtils]: 26: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:23,012 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {137621#true} #111#return; {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} is VALID [2022-04-27 11:44:23,012 INFO L290 TraceCheckUtils]: 28: Hoare triple {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} is VALID [2022-04-27 11:44:23,012 INFO L272 TraceCheckUtils]: 29: Hoare triple {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {137621#true} is VALID [2022-04-27 11:44:23,012 INFO L290 TraceCheckUtils]: 30: Hoare triple {137621#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {137679#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:44:23,013 INFO L290 TraceCheckUtils]: 31: Hoare triple {137679#(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; {137679#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:44:23,013 INFO L290 TraceCheckUtils]: 32: Hoare triple {137679#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {137679#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:44:23,013 INFO L290 TraceCheckUtils]: 33: Hoare triple {137679#(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; {137680#(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-27 11:44:23,014 INFO L290 TraceCheckUtils]: 34: Hoare triple {137680#(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; {137681#(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-27 11:44:23,014 INFO L290 TraceCheckUtils]: 35: Hoare triple {137681#(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; {137682#(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-27 11:44:23,015 INFO L290 TraceCheckUtils]: 36: Hoare triple {137682#(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; {137683#(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-27 11:44:23,015 INFO L290 TraceCheckUtils]: 37: Hoare triple {137683#(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; {137684#(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-27 11:44:23,015 INFO L290 TraceCheckUtils]: 38: Hoare triple {137684#(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; {137685#(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-27 11:44:23,016 INFO L290 TraceCheckUtils]: 39: Hoare triple {137685#(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; {137686#(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-27 11:44:23,016 INFO L290 TraceCheckUtils]: 40: Hoare triple {137686#(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; {137687#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 8 student_version_~a)))} is VALID [2022-04-27 11:44:23,017 INFO L290 TraceCheckUtils]: 41: Hoare triple {137687#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 8 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {137688#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 9)))} is VALID [2022-04-27 11:44:23,017 INFO L290 TraceCheckUtils]: 42: Hoare triple {137688#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 9)))} assume !(~l~1 < ~m); {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:23,017 INFO L290 TraceCheckUtils]: 43: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} ~x~1 := 0;~y~1 := 0; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:23,017 INFO L290 TraceCheckUtils]: 44: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:23,018 INFO L290 TraceCheckUtils]: 45: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} assume !(~x~1 < ~i~1); {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:23,018 INFO L290 TraceCheckUtils]: 46: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} #res := ~y~1; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:23,018 INFO L290 TraceCheckUtils]: 47: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} assume true; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:23,019 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} #113#return; {137622#false} is VALID [2022-04-27 11:44:23,019 INFO L290 TraceCheckUtils]: 49: Hoare triple {137622#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {137622#false} is VALID [2022-04-27 11:44:23,019 INFO L272 TraceCheckUtils]: 50: Hoare triple {137622#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {137622#false} is VALID [2022-04-27 11:44:23,019 INFO L290 TraceCheckUtils]: 51: Hoare triple {137622#false} ~cond := #in~cond; {137622#false} is VALID [2022-04-27 11:44:23,019 INFO L290 TraceCheckUtils]: 52: Hoare triple {137622#false} assume 0 == ~cond; {137622#false} is VALID [2022-04-27 11:44:23,019 INFO L290 TraceCheckUtils]: 53: Hoare triple {137622#false} assume !false; {137622#false} is VALID [2022-04-27 11:44:23,019 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:44:23,019 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:44:23,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [265968541] [2022-04-27 11:44:23,019 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [265968541] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:44:23,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [209693963] [2022-04-27 11:44:23,019 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-04-27 11:44:23,020 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:44:23,020 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:44:23,020 INFO L229 MonitoredProcess]: Starting monitored process 68 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:44:23,021 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (68)] Waiting until timeout for monitored process [2022-04-27 11:44:23,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:23,114 INFO L263 TraceCheckSpWp]: Trace formula consists of 263 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-27 11:44:23,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:23,126 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:44:24,129 INFO L272 TraceCheckUtils]: 0: Hoare triple {137621#true} call ULTIMATE.init(); {137621#true} is VALID [2022-04-27 11:44:24,129 INFO L290 TraceCheckUtils]: 1: Hoare triple {137621#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {137621#true} is VALID [2022-04-27 11:44:24,129 INFO L290 TraceCheckUtils]: 2: Hoare triple {137621#true} assume true; {137621#true} is VALID [2022-04-27 11:44:24,129 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {137621#true} {137621#true} #117#return; {137621#true} is VALID [2022-04-27 11:44:24,129 INFO L272 TraceCheckUtils]: 4: Hoare triple {137621#true} call #t~ret10 := main(); {137621#true} is VALID [2022-04-27 11:44:24,130 INFO L290 TraceCheckUtils]: 5: Hoare triple {137621#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {137621#true} is VALID [2022-04-27 11:44:24,130 INFO L290 TraceCheckUtils]: 6: Hoare triple {137621#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {137621#true} is VALID [2022-04-27 11:44:24,130 INFO L272 TraceCheckUtils]: 7: Hoare triple {137621#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {137621#true} is VALID [2022-04-27 11:44:24,130 INFO L290 TraceCheckUtils]: 8: Hoare triple {137621#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {137717#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:44:24,130 INFO L290 TraceCheckUtils]: 9: Hoare triple {137717#(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; {137717#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:44:24,130 INFO L290 TraceCheckUtils]: 10: Hoare triple {137717#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {137717#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:44:24,131 INFO L290 TraceCheckUtils]: 11: Hoare triple {137717#(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; {137727#(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-27 11:44:24,131 INFO L290 TraceCheckUtils]: 12: Hoare triple {137727#(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; {137731#(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-27 11:44:24,132 INFO L290 TraceCheckUtils]: 13: Hoare triple {137731#(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; {137735#(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-27 11:44:24,132 INFO L290 TraceCheckUtils]: 14: Hoare triple {137735#(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; {137739#(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-27 11:44:24,133 INFO L290 TraceCheckUtils]: 15: Hoare triple {137739#(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; {137743#(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-27 11:44:24,133 INFO L290 TraceCheckUtils]: 16: Hoare triple {137743#(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; {137747#(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-27 11:44:24,133 INFO L290 TraceCheckUtils]: 17: Hoare triple {137747#(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; {137751#(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-27 11:44:24,134 INFO L290 TraceCheckUtils]: 18: Hoare triple {137751#(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; {137755#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| correct_version_~a) (<= (* 8 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-27 11:44:24,134 INFO L290 TraceCheckUtils]: 19: Hoare triple {137755#(and (<= correct_version_~m |correct_version_#in~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; {137759#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 9)))} is VALID [2022-04-27 11:44:24,135 INFO L290 TraceCheckUtils]: 20: Hoare triple {137759#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 9)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:24,135 INFO L290 TraceCheckUtils]: 21: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:24,135 INFO L290 TraceCheckUtils]: 22: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:24,135 INFO L290 TraceCheckUtils]: 23: Hoare triple {137678#(<= (+ (* 9 |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; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:24,136 INFO L290 TraceCheckUtils]: 24: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:24,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:24,136 INFO L290 TraceCheckUtils]: 26: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:24,137 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {137621#true} #111#return; {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} is VALID [2022-04-27 11:44:24,137 INFO L290 TraceCheckUtils]: 28: Hoare triple {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} is VALID [2022-04-27 11:44:24,137 INFO L272 TraceCheckUtils]: 29: Hoare triple {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {137621#true} is VALID [2022-04-27 11:44:24,137 INFO L290 TraceCheckUtils]: 30: Hoare triple {137621#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {137793#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:44:24,137 INFO L290 TraceCheckUtils]: 31: Hoare triple {137793#(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; {137793#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:44:24,138 INFO L290 TraceCheckUtils]: 32: Hoare triple {137793#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {137793#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:44:24,138 INFO L290 TraceCheckUtils]: 33: Hoare triple {137793#(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; {137803#(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-27 11:44:24,138 INFO L290 TraceCheckUtils]: 34: Hoare triple {137803#(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; {137807#(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-27 11:44:24,139 INFO L290 TraceCheckUtils]: 35: Hoare triple {137807#(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; {137811#(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-27 11:44:24,139 INFO L290 TraceCheckUtils]: 36: Hoare triple {137811#(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; {137815#(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-27 11:44:24,140 INFO L290 TraceCheckUtils]: 37: Hoare triple {137815#(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; {137819#(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-27 11:44:24,140 INFO L290 TraceCheckUtils]: 38: Hoare triple {137819#(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; {137823#(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-27 11:44:24,141 INFO L290 TraceCheckUtils]: 39: Hoare triple {137823#(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; {137827#(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-27 11:44:24,141 INFO L290 TraceCheckUtils]: 40: Hoare triple {137827#(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; {137831#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 8 student_version_~a)))} is VALID [2022-04-27 11:44:24,141 INFO L290 TraceCheckUtils]: 41: Hoare triple {137831#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 8 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {137835#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 9)) |student_version_#in~a|))} is VALID [2022-04-27 11:44:24,142 INFO L290 TraceCheckUtils]: 42: Hoare triple {137835#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 9)) |student_version_#in~a|))} assume !(~l~1 < ~m); {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:24,142 INFO L290 TraceCheckUtils]: 43: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} ~x~1 := 0;~y~1 := 0; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:24,142 INFO L290 TraceCheckUtils]: 44: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:24,142 INFO L290 TraceCheckUtils]: 45: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} assume !(~x~1 < ~i~1); {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:24,142 INFO L290 TraceCheckUtils]: 46: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} #res := ~y~1; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:24,143 INFO L290 TraceCheckUtils]: 47: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} assume true; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:24,143 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} #113#return; {137622#false} is VALID [2022-04-27 11:44:24,143 INFO L290 TraceCheckUtils]: 49: Hoare triple {137622#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {137622#false} is VALID [2022-04-27 11:44:24,143 INFO L272 TraceCheckUtils]: 50: Hoare triple {137622#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {137622#false} is VALID [2022-04-27 11:44:24,143 INFO L290 TraceCheckUtils]: 51: Hoare triple {137622#false} ~cond := #in~cond; {137622#false} is VALID [2022-04-27 11:44:24,143 INFO L290 TraceCheckUtils]: 52: Hoare triple {137622#false} assume 0 == ~cond; {137622#false} is VALID [2022-04-27 11:44:24,143 INFO L290 TraceCheckUtils]: 53: Hoare triple {137622#false} assume !false; {137622#false} is VALID [2022-04-27 11:44:24,144 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:44:24,144 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:44:25,896 INFO L290 TraceCheckUtils]: 53: Hoare triple {137622#false} assume !false; {137622#false} is VALID [2022-04-27 11:44:25,896 INFO L290 TraceCheckUtils]: 52: Hoare triple {137622#false} assume 0 == ~cond; {137622#false} is VALID [2022-04-27 11:44:25,896 INFO L290 TraceCheckUtils]: 51: Hoare triple {137622#false} ~cond := #in~cond; {137622#false} is VALID [2022-04-27 11:44:25,896 INFO L272 TraceCheckUtils]: 50: Hoare triple {137622#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {137622#false} is VALID [2022-04-27 11:44:25,896 INFO L290 TraceCheckUtils]: 49: Hoare triple {137622#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {137622#false} is VALID [2022-04-27 11:44:25,897 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} #113#return; {137622#false} is VALID [2022-04-27 11:44:25,897 INFO L290 TraceCheckUtils]: 47: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} assume true; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:25,897 INFO L290 TraceCheckUtils]: 46: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} #res := ~y~1; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:25,897 INFO L290 TraceCheckUtils]: 45: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} assume !(~x~1 < ~i~1); {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:25,898 INFO L290 TraceCheckUtils]: 44: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:25,898 INFO L290 TraceCheckUtils]: 43: Hoare triple {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} ~x~1 := 0;~y~1 := 0; {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:25,898 INFO L290 TraceCheckUtils]: 42: Hoare triple {137908#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {137689#(<= |student_version_#in~m| (* |student_version_#in~a| 9))} is VALID [2022-04-27 11:44:25,898 INFO L290 TraceCheckUtils]: 41: Hoare triple {137912#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {137908#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-27 11:44:25,899 INFO L290 TraceCheckUtils]: 40: Hoare triple {137916#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ 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; {137912#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} is VALID [2022-04-27 11:44:25,899 INFO L290 TraceCheckUtils]: 39: Hoare triple {137920#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ (* 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; {137916#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} is VALID [2022-04-27 11:44:25,900 INFO L290 TraceCheckUtils]: 38: Hoare triple {137924#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ 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; {137920#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-27 11:44:25,900 INFO L290 TraceCheckUtils]: 37: Hoare triple {137928#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ (* 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; {137924#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} is VALID [2022-04-27 11:44:25,901 INFO L290 TraceCheckUtils]: 36: Hoare triple {137932#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ (* 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; {137928#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ (* 5 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-27 11:44:25,901 INFO L290 TraceCheckUtils]: 35: Hoare triple {137936#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ (* 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; {137932#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ (* 6 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-27 11:44:25,901 INFO L290 TraceCheckUtils]: 34: Hoare triple {137940#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ (* 8 student_version_~a) student_version_~l~1) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {137936#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ (* 7 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-27 11:44:25,902 INFO L290 TraceCheckUtils]: 33: Hoare triple {137944#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ student_version_~l~1 (* 9 student_version_~a)) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {137940#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ (* 8 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-27 11:44:25,902 INFO L290 TraceCheckUtils]: 32: Hoare triple {137944#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ student_version_~l~1 (* 9 student_version_~a)) student_version_~m))} assume !(~b~1 < ~n); {137944#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ student_version_~l~1 (* 9 student_version_~a)) student_version_~m))} is VALID [2022-04-27 11:44:25,902 INFO L290 TraceCheckUtils]: 31: Hoare triple {137944#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ student_version_~l~1 (* 9 student_version_~a)) student_version_~m))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {137944#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ student_version_~l~1 (* 9 student_version_~a)) student_version_~m))} is VALID [2022-04-27 11:44:25,903 INFO L290 TraceCheckUtils]: 30: Hoare triple {137621#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {137944#(or (<= |student_version_#in~m| (* |student_version_#in~a| 9)) (< (+ student_version_~l~1 (* 9 student_version_~a)) student_version_~m))} is VALID [2022-04-27 11:44:25,903 INFO L272 TraceCheckUtils]: 29: Hoare triple {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {137621#true} is VALID [2022-04-27 11:44:25,903 INFO L290 TraceCheckUtils]: 28: Hoare triple {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} is VALID [2022-04-27 11:44:25,903 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} {137621#true} #111#return; {137646#(<= (+ (* main_~a~0 9) 1) main_~m~0)} is VALID [2022-04-27 11:44:25,904 INFO L290 TraceCheckUtils]: 26: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume true; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:25,904 INFO L290 TraceCheckUtils]: 25: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} #res := ~y~0; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:25,904 INFO L290 TraceCheckUtils]: 24: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:25,905 INFO L290 TraceCheckUtils]: 23: Hoare triple {137678#(<= (+ (* 9 |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; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:25,905 INFO L290 TraceCheckUtils]: 22: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:25,905 INFO L290 TraceCheckUtils]: 21: Hoare triple {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:25,905 INFO L290 TraceCheckUtils]: 20: Hoare triple {137984#(or (<= (+ (* 9 |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; {137678#(<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:44:25,906 INFO L290 TraceCheckUtils]: 19: Hoare triple {137988#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {137984#(or (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-27 11:44:25,906 INFO L290 TraceCheckUtils]: 18: Hoare triple {137992#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {137988#(or (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-27 11:44:25,907 INFO L290 TraceCheckUtils]: 17: Hoare triple {137996#(or (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {137992#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-27 11:44:25,907 INFO L290 TraceCheckUtils]: 16: Hoare triple {138000#(or (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {137996#(or (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-27 11:44:25,908 INFO L290 TraceCheckUtils]: 15: Hoare triple {138004#(or (<= correct_version_~m (+ correct_version_~l~0 (* 5 correct_version_~a))) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138000#(or (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-27 11:44:25,908 INFO L290 TraceCheckUtils]: 14: Hoare triple {138008#(or (<= correct_version_~m (+ correct_version_~l~0 (* 6 correct_version_~a))) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138004#(or (<= correct_version_~m (+ correct_version_~l~0 (* 5 correct_version_~a))) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-27 11:44:25,909 INFO L290 TraceCheckUtils]: 13: Hoare triple {138012#(or (<= correct_version_~m (+ (* 7 correct_version_~a) correct_version_~l~0)) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138008#(or (<= correct_version_~m (+ correct_version_~l~0 (* 6 correct_version_~a))) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-27 11:44:25,909 INFO L290 TraceCheckUtils]: 12: Hoare triple {138016#(or (<= correct_version_~m (+ correct_version_~l~0 (* 8 correct_version_~a))) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138012#(or (<= correct_version_~m (+ (* 7 correct_version_~a) correct_version_~l~0)) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-27 11:44:25,909 INFO L290 TraceCheckUtils]: 11: Hoare triple {138020#(or (<= correct_version_~m (+ (* 9 correct_version_~a) correct_version_~l~0)) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {138016#(or (<= correct_version_~m (+ correct_version_~l~0 (* 8 correct_version_~a))) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-27 11:44:25,910 INFO L290 TraceCheckUtils]: 10: Hoare triple {138020#(or (<= correct_version_~m (+ (* 9 correct_version_~a) correct_version_~l~0)) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !(~b~0 < ~n); {138020#(or (<= correct_version_~m (+ (* 9 correct_version_~a) correct_version_~l~0)) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-27 11:44:25,910 INFO L290 TraceCheckUtils]: 9: Hoare triple {138020#(or (<= correct_version_~m (+ (* 9 correct_version_~a) correct_version_~l~0)) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {138020#(or (<= correct_version_~m (+ (* 9 correct_version_~a) correct_version_~l~0)) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-27 11:44:25,910 INFO L290 TraceCheckUtils]: 8: Hoare triple {137621#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {138020#(or (<= correct_version_~m (+ (* 9 correct_version_~a) correct_version_~l~0)) (<= (+ (* 9 |correct_version_#in~a|) 1) |correct_version_#in~m|))} is VALID [2022-04-27 11:44:25,910 INFO L272 TraceCheckUtils]: 7: Hoare triple {137621#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {137621#true} is VALID [2022-04-27 11:44:25,910 INFO L290 TraceCheckUtils]: 6: Hoare triple {137621#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {137621#true} is VALID [2022-04-27 11:44:25,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {137621#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {137621#true} is VALID [2022-04-27 11:44:25,911 INFO L272 TraceCheckUtils]: 4: Hoare triple {137621#true} call #t~ret10 := main(); {137621#true} is VALID [2022-04-27 11:44:25,911 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {137621#true} {137621#true} #117#return; {137621#true} is VALID [2022-04-27 11:44:25,911 INFO L290 TraceCheckUtils]: 2: Hoare triple {137621#true} assume true; {137621#true} is VALID [2022-04-27 11:44:25,911 INFO L290 TraceCheckUtils]: 1: Hoare triple {137621#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {137621#true} is VALID [2022-04-27 11:44:25,911 INFO L272 TraceCheckUtils]: 0: Hoare triple {137621#true} call ULTIMATE.init(); {137621#true} is VALID [2022-04-27 11:44:25,911 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 10 proven. 90 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:44:25,911 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [209693963] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:44:25,911 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:44:25,911 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 25, 25] total 67 [2022-04-27 11:44:25,911 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1214874150] [2022-04-27 11:44:25,911 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:44:25,912 INFO L78 Accepts]: Start accepts. Automaton has has 67 states, 67 states have (on average 1.492537313432836) internal successors, (100), 66 states have internal predecessors, (100), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 54 [2022-04-27 11:44:25,912 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:44:25,912 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 67 states, 67 states have (on average 1.492537313432836) internal successors, (100), 66 states have internal predecessors, (100), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:44:25,981 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-27 11:44:25,981 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 67 states [2022-04-27 11:44:25,981 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:44:25,981 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 67 interpolants. [2022-04-27 11:44:25,982 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=222, Invalid=4200, Unknown=0, NotChecked=0, Total=4422 [2022-04-27 11:44:25,982 INFO L87 Difference]: Start difference. First operand 659 states and 747 transitions. Second operand has 67 states, 67 states have (on average 1.492537313432836) internal successors, (100), 66 states have internal predecessors, (100), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:44:41,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:44:41,216 INFO L93 Difference]: Finished difference Result 674 states and 762 transitions. [2022-04-27 11:44:41,216 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 43 states. [2022-04-27 11:44:41,216 INFO L78 Accepts]: Start accepts. Automaton has has 67 states, 67 states have (on average 1.492537313432836) internal successors, (100), 66 states have internal predecessors, (100), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 54 [2022-04-27 11:44:41,216 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:44:41,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 67 states have (on average 1.492537313432836) internal successors, (100), 66 states have internal predecessors, (100), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:44:41,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 193 transitions. [2022-04-27 11:44:41,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 67 states have (on average 1.492537313432836) internal successors, (100), 66 states have internal predecessors, (100), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:44:41,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 193 transitions. [2022-04-27 11:44:41,219 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 193 transitions. [2022-04-27 11:44:41,399 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 193 edges. 193 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:44:41,420 INFO L225 Difference]: With dead ends: 674 [2022-04-27 11:44:41,420 INFO L226 Difference]: Without dead ends: 662 [2022-04-27 11:44:41,423 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 177 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 105 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1625 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=740, Invalid=10602, Unknown=0, NotChecked=0, Total=11342 [2022-04-27 11:44:41,423 INFO L413 NwaCegarLoop]: 118 mSDtfsCounter, 1295 mSDsluCounter, 167 mSDsCounter, 0 mSdLazyCounter, 5557 mSolverCounterSat, 126 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1314 SdHoareTripleChecker+Valid, 285 SdHoareTripleChecker+Invalid, 5683 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 126 IncrementalHoareTripleChecker+Valid, 5557 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:44:41,423 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1314 Valid, 285 Invalid, 5683 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [126 Valid, 5557 Invalid, 0 Unknown, 0 Unchecked, 4.0s Time] [2022-04-27 11:44:41,424 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 662 states. [2022-04-27 11:44:46,044 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 662 to 660. [2022-04-27 11:44:46,044 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:44:46,045 INFO L82 GeneralOperation]: Start isEquivalent. First operand 662 states. Second operand has 660 states, 573 states have (on average 1.1465968586387434) internal successors, (657), 625 states have internal predecessors, (657), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) [2022-04-27 11:44:46,045 INFO L74 IsIncluded]: Start isIncluded. First operand 662 states. Second operand has 660 states, 573 states have (on average 1.1465968586387434) internal successors, (657), 625 states have internal predecessors, (657), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) [2022-04-27 11:44:46,046 INFO L87 Difference]: Start difference. First operand 662 states. Second operand has 660 states, 573 states have (on average 1.1465968586387434) internal successors, (657), 625 states have internal predecessors, (657), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) [2022-04-27 11:44:46,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:44:46,061 INFO L93 Difference]: Finished difference Result 662 states and 746 transitions. [2022-04-27 11:44:46,061 INFO L276 IsEmpty]: Start isEmpty. Operand 662 states and 746 transitions. [2022-04-27 11:44:46,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:44:46,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:44:46,065 INFO L74 IsIncluded]: Start isIncluded. First operand has 660 states, 573 states have (on average 1.1465968586387434) internal successors, (657), 625 states have internal predecessors, (657), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) Second operand 662 states. [2022-04-27 11:44:46,065 INFO L87 Difference]: Start difference. First operand has 660 states, 573 states have (on average 1.1465968586387434) internal successors, (657), 625 states have internal predecessors, (657), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) Second operand 662 states. [2022-04-27 11:44:46,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:44:46,080 INFO L93 Difference]: Finished difference Result 662 states and 746 transitions. [2022-04-27 11:44:46,080 INFO L276 IsEmpty]: Start isEmpty. Operand 662 states and 746 transitions. [2022-04-27 11:44:46,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:44:46,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:44:46,083 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:44:46,083 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:44:46,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 660 states, 573 states have (on average 1.1465968586387434) internal successors, (657), 625 states have internal predecessors, (657), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) [2022-04-27 11:44:46,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 660 states to 660 states and 744 transitions. [2022-04-27 11:44:46,103 INFO L78 Accepts]: Start accepts. Automaton has 660 states and 744 transitions. Word has length 54 [2022-04-27 11:44:46,103 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:44:46,103 INFO L495 AbstractCegarLoop]: Abstraction has 660 states and 744 transitions. [2022-04-27 11:44:46,103 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 67 states, 67 states have (on average 1.492537313432836) internal successors, (100), 66 states have internal predecessors, (100), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:44:46,103 INFO L276 IsEmpty]: Start isEmpty. Operand 660 states and 744 transitions. [2022-04-27 11:44:46,107 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-27 11:44:46,107 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:44:46,107 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 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] [2022-04-27 11:44:46,129 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (68)] Forceful destruction successful, exit code 0 [2022-04-27 11:44:46,313 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 68 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable76 [2022-04-27 11:44:46,313 INFO L420 AbstractCegarLoop]: === Iteration 78 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:44:46,314 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:44:46,314 INFO L85 PathProgramCache]: Analyzing trace with hash 334260941, now seen corresponding path program 68 times [2022-04-27 11:44:46,314 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:44:46,314 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [132857321] [2022-04-27 11:44:46,314 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:44:46,314 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:44:46,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:46,340 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:44:46,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:46,342 INFO L290 TraceCheckUtils]: 0: Hoare triple {141444#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {141400#true} is VALID [2022-04-27 11:44:46,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {141400#true} assume true; {141400#true} is VALID [2022-04-27 11:44:46,342 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {141400#true} {141400#true} #117#return; {141400#true} is VALID [2022-04-27 11:44:46,342 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:44:46,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:46,347 INFO L290 TraceCheckUtils]: 0: Hoare triple {141400#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {141400#true} is VALID [2022-04-27 11:44:46,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 2: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 3: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 4: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 5: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 6: Hoare triple {141400#true} assume !(~b~0 < ~n); {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 7: Hoare triple {141400#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 8: Hoare triple {141400#true} assume !(~l~0 < ~m); {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 9: Hoare triple {141400#true} ~x~0 := 0;~y~0 := 0; {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 10: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 11: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 12: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 13: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 14: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 15: Hoare triple {141400#true} assume !(~x~0 < ~i~0); {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 16: Hoare triple {141400#true} #res := ~y~0; {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L290 TraceCheckUtils]: 17: Hoare triple {141400#true} assume true; {141400#true} is VALID [2022-04-27 11:44:46,348 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {141400#true} {141400#true} #111#return; {141400#true} is VALID [2022-04-27 11:44:46,349 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-27 11:44:46,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:46,427 INFO L290 TraceCheckUtils]: 0: Hoare triple {141400#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {141445#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:44:46,427 INFO L290 TraceCheckUtils]: 1: Hoare triple {141445#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141446#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:44:46,428 INFO L290 TraceCheckUtils]: 2: Hoare triple {141446#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141447#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:44:46,428 INFO L290 TraceCheckUtils]: 3: Hoare triple {141447#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141448#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:44:46,429 INFO L290 TraceCheckUtils]: 4: Hoare triple {141448#(<= student_version_~i~1 3)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141449#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:44:46,429 INFO L290 TraceCheckUtils]: 5: Hoare triple {141449#(<= student_version_~i~1 4)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,429 INFO L290 TraceCheckUtils]: 6: Hoare triple {141450#(<= student_version_~i~1 5)} assume !(~b~1 < ~n); {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,429 INFO L290 TraceCheckUtils]: 7: Hoare triple {141450#(<= student_version_~i~1 5)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,430 INFO L290 TraceCheckUtils]: 8: Hoare triple {141450#(<= student_version_~i~1 5)} assume !(~l~1 < ~m); {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,430 INFO L290 TraceCheckUtils]: 9: Hoare triple {141450#(<= student_version_~i~1 5)} ~x~1 := 0;~y~1 := 0; {141451#(<= student_version_~i~1 (+ 5 student_version_~x~1))} is VALID [2022-04-27 11:44:46,430 INFO L290 TraceCheckUtils]: 10: Hoare triple {141451#(<= student_version_~i~1 (+ 5 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {141452#(<= student_version_~i~1 (+ student_version_~x~1 4))} is VALID [2022-04-27 11:44:46,431 INFO L290 TraceCheckUtils]: 11: Hoare triple {141452#(<= 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; {141453#(<= student_version_~i~1 (+ 3 student_version_~x~1))} is VALID [2022-04-27 11:44:46,431 INFO L290 TraceCheckUtils]: 12: Hoare triple {141453#(<= 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; {141454#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-27 11:44:46,432 INFO L290 TraceCheckUtils]: 13: Hoare triple {141454#(<= 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; {141455#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-27 11:44:46,432 INFO L290 TraceCheckUtils]: 14: Hoare triple {141455#(<= 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; {141456#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:44:46,432 INFO L290 TraceCheckUtils]: 15: Hoare triple {141456#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {141401#false} is VALID [2022-04-27 11:44:46,432 INFO L290 TraceCheckUtils]: 16: Hoare triple {141401#false} assume !(~x~1 < ~i~1); {141401#false} is VALID [2022-04-27 11:44:46,432 INFO L290 TraceCheckUtils]: 17: Hoare triple {141401#false} #res := ~y~1; {141401#false} is VALID [2022-04-27 11:44:46,432 INFO L290 TraceCheckUtils]: 18: Hoare triple {141401#false} assume true; {141401#false} is VALID [2022-04-27 11:44:46,433 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {141401#false} {141400#true} #113#return; {141401#false} is VALID [2022-04-27 11:44:46,433 INFO L272 TraceCheckUtils]: 0: Hoare triple {141400#true} call ULTIMATE.init(); {141444#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:44:46,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {141444#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {141400#true} is VALID [2022-04-27 11:44:46,433 INFO L290 TraceCheckUtils]: 2: Hoare triple {141400#true} assume true; {141400#true} is VALID [2022-04-27 11:44:46,433 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {141400#true} {141400#true} #117#return; {141400#true} is VALID [2022-04-27 11:44:46,433 INFO L272 TraceCheckUtils]: 4: Hoare triple {141400#true} call #t~ret10 := main(); {141400#true} is VALID [2022-04-27 11:44:46,433 INFO L290 TraceCheckUtils]: 5: Hoare triple {141400#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {141400#true} is VALID [2022-04-27 11:44:46,433 INFO L290 TraceCheckUtils]: 6: Hoare triple {141400#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {141400#true} is VALID [2022-04-27 11:44:46,433 INFO L272 TraceCheckUtils]: 7: Hoare triple {141400#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {141400#true} is VALID [2022-04-27 11:44:46,433 INFO L290 TraceCheckUtils]: 8: Hoare triple {141400#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {141400#true} is VALID [2022-04-27 11:44:46,433 INFO L290 TraceCheckUtils]: 9: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,433 INFO L290 TraceCheckUtils]: 10: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,433 INFO L290 TraceCheckUtils]: 11: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L290 TraceCheckUtils]: 12: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L290 TraceCheckUtils]: 13: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L290 TraceCheckUtils]: 14: Hoare triple {141400#true} assume !(~b~0 < ~n); {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L290 TraceCheckUtils]: 15: Hoare triple {141400#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L290 TraceCheckUtils]: 16: Hoare triple {141400#true} assume !(~l~0 < ~m); {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L290 TraceCheckUtils]: 17: Hoare triple {141400#true} ~x~0 := 0;~y~0 := 0; {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L290 TraceCheckUtils]: 18: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L290 TraceCheckUtils]: 19: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L290 TraceCheckUtils]: 20: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L290 TraceCheckUtils]: 21: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L290 TraceCheckUtils]: 22: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L290 TraceCheckUtils]: 23: Hoare triple {141400#true} assume !(~x~0 < ~i~0); {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L290 TraceCheckUtils]: 24: Hoare triple {141400#true} #res := ~y~0; {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L290 TraceCheckUtils]: 25: Hoare triple {141400#true} assume true; {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {141400#true} {141400#true} #111#return; {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L290 TraceCheckUtils]: 27: Hoare triple {141400#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {141400#true} is VALID [2022-04-27 11:44:46,434 INFO L272 TraceCheckUtils]: 28: Hoare triple {141400#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {141400#true} is VALID [2022-04-27 11:44:46,435 INFO L290 TraceCheckUtils]: 29: Hoare triple {141400#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {141445#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:44:46,435 INFO L290 TraceCheckUtils]: 30: Hoare triple {141445#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141446#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:44:46,435 INFO L290 TraceCheckUtils]: 31: Hoare triple {141446#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141447#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:44:46,436 INFO L290 TraceCheckUtils]: 32: Hoare triple {141447#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141448#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:44:46,436 INFO L290 TraceCheckUtils]: 33: Hoare triple {141448#(<= student_version_~i~1 3)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141449#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:44:46,437 INFO L290 TraceCheckUtils]: 34: Hoare triple {141449#(<= student_version_~i~1 4)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,437 INFO L290 TraceCheckUtils]: 35: Hoare triple {141450#(<= student_version_~i~1 5)} assume !(~b~1 < ~n); {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,437 INFO L290 TraceCheckUtils]: 36: Hoare triple {141450#(<= student_version_~i~1 5)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,437 INFO L290 TraceCheckUtils]: 37: Hoare triple {141450#(<= student_version_~i~1 5)} assume !(~l~1 < ~m); {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,438 INFO L290 TraceCheckUtils]: 38: Hoare triple {141450#(<= student_version_~i~1 5)} ~x~1 := 0;~y~1 := 0; {141451#(<= student_version_~i~1 (+ 5 student_version_~x~1))} is VALID [2022-04-27 11:44:46,438 INFO L290 TraceCheckUtils]: 39: Hoare triple {141451#(<= student_version_~i~1 (+ 5 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {141452#(<= student_version_~i~1 (+ student_version_~x~1 4))} is VALID [2022-04-27 11:44:46,438 INFO L290 TraceCheckUtils]: 40: Hoare triple {141452#(<= 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; {141453#(<= student_version_~i~1 (+ 3 student_version_~x~1))} is VALID [2022-04-27 11:44:46,439 INFO L290 TraceCheckUtils]: 41: Hoare triple {141453#(<= 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; {141454#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-27 11:44:46,439 INFO L290 TraceCheckUtils]: 42: Hoare triple {141454#(<= 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; {141455#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-27 11:44:46,440 INFO L290 TraceCheckUtils]: 43: Hoare triple {141455#(<= 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; {141456#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:44:46,440 INFO L290 TraceCheckUtils]: 44: Hoare triple {141456#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {141401#false} is VALID [2022-04-27 11:44:46,440 INFO L290 TraceCheckUtils]: 45: Hoare triple {141401#false} assume !(~x~1 < ~i~1); {141401#false} is VALID [2022-04-27 11:44:46,440 INFO L290 TraceCheckUtils]: 46: Hoare triple {141401#false} #res := ~y~1; {141401#false} is VALID [2022-04-27 11:44:46,440 INFO L290 TraceCheckUtils]: 47: Hoare triple {141401#false} assume true; {141401#false} is VALID [2022-04-27 11:44:46,440 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {141401#false} {141400#true} #113#return; {141401#false} is VALID [2022-04-27 11:44:46,440 INFO L290 TraceCheckUtils]: 49: Hoare triple {141401#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {141401#false} is VALID [2022-04-27 11:44:46,440 INFO L272 TraceCheckUtils]: 50: Hoare triple {141401#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {141401#false} is VALID [2022-04-27 11:44:46,440 INFO L290 TraceCheckUtils]: 51: Hoare triple {141401#false} ~cond := #in~cond; {141401#false} is VALID [2022-04-27 11:44:46,440 INFO L290 TraceCheckUtils]: 52: Hoare triple {141401#false} assume 0 == ~cond; {141401#false} is VALID [2022-04-27 11:44:46,440 INFO L290 TraceCheckUtils]: 53: Hoare triple {141401#false} assume !false; {141401#false} is VALID [2022-04-27 11:44:46,441 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 21 proven. 15 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-04-27 11:44:46,441 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:44:46,441 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [132857321] [2022-04-27 11:44:46,441 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [132857321] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:44:46,441 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [849627423] [2022-04-27 11:44:46,441 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:44:46,441 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:44:46,441 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:44:46,442 INFO L229 MonitoredProcess]: Starting monitored process 69 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:44:46,442 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (69)] Waiting until timeout for monitored process [2022-04-27 11:44:46,534 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:44:46,534 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:44:46,535 INFO L263 TraceCheckSpWp]: Trace formula consists of 263 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 11:44:46,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:46,555 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:44:46,754 INFO L272 TraceCheckUtils]: 0: Hoare triple {141400#true} call ULTIMATE.init(); {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {141400#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L290 TraceCheckUtils]: 2: Hoare triple {141400#true} assume true; {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {141400#true} {141400#true} #117#return; {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L272 TraceCheckUtils]: 4: Hoare triple {141400#true} call #t~ret10 := main(); {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L290 TraceCheckUtils]: 5: Hoare triple {141400#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L290 TraceCheckUtils]: 6: Hoare triple {141400#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L272 TraceCheckUtils]: 7: Hoare triple {141400#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L290 TraceCheckUtils]: 8: Hoare triple {141400#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L290 TraceCheckUtils]: 9: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L290 TraceCheckUtils]: 10: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L290 TraceCheckUtils]: 11: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L290 TraceCheckUtils]: 12: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L290 TraceCheckUtils]: 13: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L290 TraceCheckUtils]: 14: Hoare triple {141400#true} assume !(~b~0 < ~n); {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L290 TraceCheckUtils]: 15: Hoare triple {141400#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {141400#true} is VALID [2022-04-27 11:44:46,755 INFO L290 TraceCheckUtils]: 16: Hoare triple {141400#true} assume !(~l~0 < ~m); {141400#true} is VALID [2022-04-27 11:44:46,756 INFO L290 TraceCheckUtils]: 17: Hoare triple {141400#true} ~x~0 := 0;~y~0 := 0; {141400#true} is VALID [2022-04-27 11:44:46,756 INFO L290 TraceCheckUtils]: 18: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,756 INFO L290 TraceCheckUtils]: 19: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,756 INFO L290 TraceCheckUtils]: 20: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,756 INFO L290 TraceCheckUtils]: 21: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,756 INFO L290 TraceCheckUtils]: 22: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,756 INFO L290 TraceCheckUtils]: 23: Hoare triple {141400#true} assume !(~x~0 < ~i~0); {141400#true} is VALID [2022-04-27 11:44:46,756 INFO L290 TraceCheckUtils]: 24: Hoare triple {141400#true} #res := ~y~0; {141400#true} is VALID [2022-04-27 11:44:46,756 INFO L290 TraceCheckUtils]: 25: Hoare triple {141400#true} assume true; {141400#true} is VALID [2022-04-27 11:44:46,756 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {141400#true} {141400#true} #111#return; {141400#true} is VALID [2022-04-27 11:44:46,756 INFO L290 TraceCheckUtils]: 27: Hoare triple {141400#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {141400#true} is VALID [2022-04-27 11:44:46,756 INFO L272 TraceCheckUtils]: 28: Hoare triple {141400#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {141400#true} is VALID [2022-04-27 11:44:46,757 INFO L290 TraceCheckUtils]: 29: Hoare triple {141400#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {141445#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:44:46,757 INFO L290 TraceCheckUtils]: 30: Hoare triple {141445#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141446#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:44:46,758 INFO L290 TraceCheckUtils]: 31: Hoare triple {141446#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141447#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:44:46,758 INFO L290 TraceCheckUtils]: 32: Hoare triple {141447#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141448#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:44:46,758 INFO L290 TraceCheckUtils]: 33: Hoare triple {141448#(<= student_version_~i~1 3)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141449#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:44:46,759 INFO L290 TraceCheckUtils]: 34: Hoare triple {141449#(<= student_version_~i~1 4)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,759 INFO L290 TraceCheckUtils]: 35: Hoare triple {141450#(<= student_version_~i~1 5)} assume !(~b~1 < ~n); {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,759 INFO L290 TraceCheckUtils]: 36: Hoare triple {141450#(<= student_version_~i~1 5)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,759 INFO L290 TraceCheckUtils]: 37: Hoare triple {141450#(<= student_version_~i~1 5)} assume !(~l~1 < ~m); {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,760 INFO L290 TraceCheckUtils]: 38: Hoare triple {141450#(<= student_version_~i~1 5)} ~x~1 := 0;~y~1 := 0; {141574#(and (<= 0 student_version_~x~1) (<= student_version_~i~1 5))} is VALID [2022-04-27 11:44:46,760 INFO L290 TraceCheckUtils]: 39: Hoare triple {141574#(and (<= 0 student_version_~x~1) (<= student_version_~i~1 5))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {141578#(and (<= 1 student_version_~x~1) (<= student_version_~i~1 5))} is VALID [2022-04-27 11:44:46,760 INFO L290 TraceCheckUtils]: 40: Hoare triple {141578#(and (<= 1 student_version_~x~1) (<= student_version_~i~1 5))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {141582#(and (<= 2 student_version_~x~1) (<= student_version_~i~1 5))} is VALID [2022-04-27 11:44:46,761 INFO L290 TraceCheckUtils]: 41: Hoare triple {141582#(and (<= 2 student_version_~x~1) (<= student_version_~i~1 5))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {141586#(and (<= 3 student_version_~x~1) (<= student_version_~i~1 5))} is VALID [2022-04-27 11:44:46,761 INFO L290 TraceCheckUtils]: 42: Hoare triple {141586#(and (<= 3 student_version_~x~1) (<= student_version_~i~1 5))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {141590#(and (<= 4 student_version_~x~1) (<= student_version_~i~1 5))} is VALID [2022-04-27 11:44:46,762 INFO L290 TraceCheckUtils]: 43: Hoare triple {141590#(and (<= 4 student_version_~x~1) (<= student_version_~i~1 5))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {141594#(and (<= 5 student_version_~x~1) (<= student_version_~i~1 5))} is VALID [2022-04-27 11:44:46,762 INFO L290 TraceCheckUtils]: 44: Hoare triple {141594#(and (<= 5 student_version_~x~1) (<= student_version_~i~1 5))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {141401#false} is VALID [2022-04-27 11:44:46,762 INFO L290 TraceCheckUtils]: 45: Hoare triple {141401#false} assume !(~x~1 < ~i~1); {141401#false} is VALID [2022-04-27 11:44:46,762 INFO L290 TraceCheckUtils]: 46: Hoare triple {141401#false} #res := ~y~1; {141401#false} is VALID [2022-04-27 11:44:46,762 INFO L290 TraceCheckUtils]: 47: Hoare triple {141401#false} assume true; {141401#false} is VALID [2022-04-27 11:44:46,762 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {141401#false} {141400#true} #113#return; {141401#false} is VALID [2022-04-27 11:44:46,762 INFO L290 TraceCheckUtils]: 49: Hoare triple {141401#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {141401#false} is VALID [2022-04-27 11:44:46,762 INFO L272 TraceCheckUtils]: 50: Hoare triple {141401#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {141401#false} is VALID [2022-04-27 11:44:46,762 INFO L290 TraceCheckUtils]: 51: Hoare triple {141401#false} ~cond := #in~cond; {141401#false} is VALID [2022-04-27 11:44:46,762 INFO L290 TraceCheckUtils]: 52: Hoare triple {141401#false} assume 0 == ~cond; {141401#false} is VALID [2022-04-27 11:44:46,762 INFO L290 TraceCheckUtils]: 53: Hoare triple {141401#false} assume !false; {141401#false} is VALID [2022-04-27 11:44:46,763 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 21 proven. 15 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-04-27 11:44:46,763 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:44:46,911 INFO L290 TraceCheckUtils]: 53: Hoare triple {141401#false} assume !false; {141401#false} is VALID [2022-04-27 11:44:46,911 INFO L290 TraceCheckUtils]: 52: Hoare triple {141401#false} assume 0 == ~cond; {141401#false} is VALID [2022-04-27 11:44:46,911 INFO L290 TraceCheckUtils]: 51: Hoare triple {141401#false} ~cond := #in~cond; {141401#false} is VALID [2022-04-27 11:44:46,911 INFO L272 TraceCheckUtils]: 50: Hoare triple {141401#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {141401#false} is VALID [2022-04-27 11:44:46,911 INFO L290 TraceCheckUtils]: 49: Hoare triple {141401#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {141401#false} is VALID [2022-04-27 11:44:46,911 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {141401#false} {141400#true} #113#return; {141401#false} is VALID [2022-04-27 11:44:46,911 INFO L290 TraceCheckUtils]: 47: Hoare triple {141401#false} assume true; {141401#false} is VALID [2022-04-27 11:44:46,911 INFO L290 TraceCheckUtils]: 46: Hoare triple {141401#false} #res := ~y~1; {141401#false} is VALID [2022-04-27 11:44:46,911 INFO L290 TraceCheckUtils]: 45: Hoare triple {141401#false} assume !(~x~1 < ~i~1); {141401#false} is VALID [2022-04-27 11:44:46,915 INFO L290 TraceCheckUtils]: 44: Hoare triple {141456#(<= student_version_~i~1 student_version_~x~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {141401#false} is VALID [2022-04-27 11:44:46,916 INFO L290 TraceCheckUtils]: 43: Hoare triple {141455#(<= 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; {141456#(<= student_version_~i~1 student_version_~x~1)} is VALID [2022-04-27 11:44:46,916 INFO L290 TraceCheckUtils]: 42: Hoare triple {141454#(<= 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; {141455#(<= student_version_~i~1 (+ student_version_~x~1 1))} is VALID [2022-04-27 11:44:46,917 INFO L290 TraceCheckUtils]: 41: Hoare triple {141453#(<= 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; {141454#(<= student_version_~i~1 (+ 2 student_version_~x~1))} is VALID [2022-04-27 11:44:46,917 INFO L290 TraceCheckUtils]: 40: Hoare triple {141452#(<= 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; {141453#(<= student_version_~i~1 (+ 3 student_version_~x~1))} is VALID [2022-04-27 11:44:46,917 INFO L290 TraceCheckUtils]: 39: Hoare triple {141451#(<= student_version_~i~1 (+ 5 student_version_~x~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {141452#(<= student_version_~i~1 (+ student_version_~x~1 4))} is VALID [2022-04-27 11:44:46,918 INFO L290 TraceCheckUtils]: 38: Hoare triple {141450#(<= student_version_~i~1 5)} ~x~1 := 0;~y~1 := 0; {141451#(<= student_version_~i~1 (+ 5 student_version_~x~1))} is VALID [2022-04-27 11:44:46,918 INFO L290 TraceCheckUtils]: 37: Hoare triple {141450#(<= student_version_~i~1 5)} assume !(~l~1 < ~m); {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,918 INFO L290 TraceCheckUtils]: 36: Hoare triple {141450#(<= student_version_~i~1 5)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,918 INFO L290 TraceCheckUtils]: 35: Hoare triple {141450#(<= student_version_~i~1 5)} assume !(~b~1 < ~n); {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,919 INFO L290 TraceCheckUtils]: 34: Hoare triple {141449#(<= student_version_~i~1 4)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141450#(<= student_version_~i~1 5)} is VALID [2022-04-27 11:44:46,919 INFO L290 TraceCheckUtils]: 33: Hoare triple {141448#(<= student_version_~i~1 3)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141449#(<= student_version_~i~1 4)} is VALID [2022-04-27 11:44:46,919 INFO L290 TraceCheckUtils]: 32: Hoare triple {141447#(<= student_version_~i~1 2)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141448#(<= student_version_~i~1 3)} is VALID [2022-04-27 11:44:46,920 INFO L290 TraceCheckUtils]: 31: Hoare triple {141446#(<= student_version_~i~1 1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141447#(<= student_version_~i~1 2)} is VALID [2022-04-27 11:44:46,920 INFO L290 TraceCheckUtils]: 30: Hoare triple {141445#(<= student_version_~i~1 0)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {141446#(<= student_version_~i~1 1)} is VALID [2022-04-27 11:44:46,920 INFO L290 TraceCheckUtils]: 29: Hoare triple {141400#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {141445#(<= student_version_~i~1 0)} is VALID [2022-04-27 11:44:46,921 INFO L272 TraceCheckUtils]: 28: Hoare triple {141400#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 27: Hoare triple {141400#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {141400#true} {141400#true} #111#return; {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 25: Hoare triple {141400#true} assume true; {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 24: Hoare triple {141400#true} #res := ~y~0; {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 23: Hoare triple {141400#true} assume !(~x~0 < ~i~0); {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 22: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 21: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 20: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 19: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 18: Hoare triple {141400#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 17: Hoare triple {141400#true} ~x~0 := 0;~y~0 := 0; {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 16: Hoare triple {141400#true} assume !(~l~0 < ~m); {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 15: Hoare triple {141400#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 14: Hoare triple {141400#true} assume !(~b~0 < ~n); {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 13: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 12: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 11: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,921 INFO L290 TraceCheckUtils]: 10: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {141400#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {141400#true} is VALID [2022-04-27 11:44:46,922 INFO L290 TraceCheckUtils]: 8: Hoare triple {141400#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {141400#true} is VALID [2022-04-27 11:44:46,922 INFO L272 TraceCheckUtils]: 7: Hoare triple {141400#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {141400#true} is VALID [2022-04-27 11:44:46,922 INFO L290 TraceCheckUtils]: 6: Hoare triple {141400#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {141400#true} is VALID [2022-04-27 11:44:46,922 INFO L290 TraceCheckUtils]: 5: Hoare triple {141400#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {141400#true} is VALID [2022-04-27 11:44:46,922 INFO L272 TraceCheckUtils]: 4: Hoare triple {141400#true} call #t~ret10 := main(); {141400#true} is VALID [2022-04-27 11:44:46,922 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {141400#true} {141400#true} #117#return; {141400#true} is VALID [2022-04-27 11:44:46,922 INFO L290 TraceCheckUtils]: 2: Hoare triple {141400#true} assume true; {141400#true} is VALID [2022-04-27 11:44:46,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {141400#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {141400#true} is VALID [2022-04-27 11:44:46,922 INFO L272 TraceCheckUtils]: 0: Hoare triple {141400#true} call ULTIMATE.init(); {141400#true} is VALID [2022-04-27 11:44:46,922 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 21 proven. 15 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-04-27 11:44:46,922 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [849627423] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:44:46,922 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:44:46,922 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14, 14] total 21 [2022-04-27 11:44:46,923 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1042102975] [2022-04-27 11:44:46,923 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:44:46,923 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 54 [2022-04-27 11:44:46,923 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:44:46,923 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:44:46,946 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:44:46,947 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-27 11:44:46,947 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:44:46,947 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-27 11:44:46,947 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=309, Unknown=0, NotChecked=0, Total=420 [2022-04-27 11:44:46,947 INFO L87 Difference]: Start difference. First operand 660 states and 744 transitions. Second operand has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:44:53,200 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:44:53,200 INFO L93 Difference]: Finished difference Result 818 states and 933 transitions. [2022-04-27 11:44:53,200 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-27 11:44:53,200 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 54 [2022-04-27 11:44:53,200 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:44:53,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:44:53,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 109 transitions. [2022-04-27 11:44:53,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:44:53,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 109 transitions. [2022-04-27 11:44:53,202 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 109 transitions. [2022-04-27 11:44:53,252 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-27 11:44:53,282 INFO L225 Difference]: With dead ends: 818 [2022-04-27 11:44:53,283 INFO L226 Difference]: Without dead ends: 772 [2022-04-27 11:44:53,286 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 154 GetRequests, 107 SyntacticMatches, 1 SemanticMatches, 46 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 456 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=579, Invalid=1677, Unknown=0, NotChecked=0, Total=2256 [2022-04-27 11:44:53,286 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 156 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 273 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 162 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 302 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 273 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:44:53,286 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [162 Valid, 60 Invalid, 302 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 273 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 11:44:53,287 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 772 states. [2022-04-27 11:44:59,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 772 to 742. [2022-04-27 11:44:59,152 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:44:59,152 INFO L82 GeneralOperation]: Start isEquivalent. First operand 772 states. Second operand has 742 states, 655 states have (on average 1.1450381679389312) internal successors, (750), 707 states have internal predecessors, (750), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) [2022-04-27 11:44:59,153 INFO L74 IsIncluded]: Start isIncluded. First operand 772 states. Second operand has 742 states, 655 states have (on average 1.1450381679389312) internal successors, (750), 707 states have internal predecessors, (750), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) [2022-04-27 11:44:59,153 INFO L87 Difference]: Start difference. First operand 772 states. Second operand has 742 states, 655 states have (on average 1.1450381679389312) internal successors, (750), 707 states have internal predecessors, (750), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) [2022-04-27 11:44:59,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:44:59,175 INFO L93 Difference]: Finished difference Result 772 states and 867 transitions. [2022-04-27 11:44:59,175 INFO L276 IsEmpty]: Start isEmpty. Operand 772 states and 867 transitions. [2022-04-27 11:44:59,179 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:44:59,179 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:44:59,179 INFO L74 IsIncluded]: Start isIncluded. First operand has 742 states, 655 states have (on average 1.1450381679389312) internal successors, (750), 707 states have internal predecessors, (750), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) Second operand 772 states. [2022-04-27 11:44:59,180 INFO L87 Difference]: Start difference. First operand has 742 states, 655 states have (on average 1.1450381679389312) internal successors, (750), 707 states have internal predecessors, (750), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) Second operand 772 states. [2022-04-27 11:44:59,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:44:59,201 INFO L93 Difference]: Finished difference Result 772 states and 867 transitions. [2022-04-27 11:44:59,201 INFO L276 IsEmpty]: Start isEmpty. Operand 772 states and 867 transitions. [2022-04-27 11:44:59,205 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:44:59,205 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:44:59,206 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:44:59,206 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:44:59,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 742 states, 655 states have (on average 1.1450381679389312) internal successors, (750), 707 states have internal predecessors, (750), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) [2022-04-27 11:44:59,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 742 states to 742 states and 837 transitions. [2022-04-27 11:44:59,236 INFO L78 Accepts]: Start accepts. Automaton has 742 states and 837 transitions. Word has length 54 [2022-04-27 11:44:59,236 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:44:59,236 INFO L495 AbstractCegarLoop]: Abstraction has 742 states and 837 transitions. [2022-04-27 11:44:59,236 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 20 states have internal predecessors, (46), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:44:59,236 INFO L276 IsEmpty]: Start isEmpty. Operand 742 states and 837 transitions. [2022-04-27 11:44:59,241 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-27 11:44:59,241 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:44:59,241 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 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] [2022-04-27 11:44:59,257 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (69)] Forceful destruction successful, exit code 0 [2022-04-27 11:44:59,454 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 69 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable77 [2022-04-27 11:44:59,455 INFO L420 AbstractCegarLoop]: === Iteration 79 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:44:59,455 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:44:59,455 INFO L85 PathProgramCache]: Analyzing trace with hash -1144517490, now seen corresponding path program 69 times [2022-04-27 11:44:59,455 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:44:59,455 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1481857116] [2022-04-27 11:44:59,455 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:44:59,455 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:44:59,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:59,479 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:44:59,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:59,481 INFO L290 TraceCheckUtils]: 0: Hoare triple {145726#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {145682#true} is VALID [2022-04-27 11:44:59,481 INFO L290 TraceCheckUtils]: 1: Hoare triple {145682#true} assume true; {145682#true} is VALID [2022-04-27 11:44:59,481 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {145682#true} {145682#true} #117#return; {145682#true} is VALID [2022-04-27 11:44:59,481 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:44:59,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:59,549 INFO L290 TraceCheckUtils]: 0: Hoare triple {145682#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {145727#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:44:59,549 INFO L290 TraceCheckUtils]: 1: Hoare triple {145727#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145728#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:44:59,550 INFO L290 TraceCheckUtils]: 2: Hoare triple {145728#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145729#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:44:59,550 INFO L290 TraceCheckUtils]: 3: Hoare triple {145729#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145730#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:44:59,551 INFO L290 TraceCheckUtils]: 4: Hoare triple {145730#(<= correct_version_~i~0 3)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145731#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:44:59,551 INFO L290 TraceCheckUtils]: 5: Hoare triple {145731#(<= correct_version_~i~0 4)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:44:59,552 INFO L290 TraceCheckUtils]: 6: Hoare triple {145732#(<= correct_version_~i~0 5)} assume !(~b~0 < ~n); {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:44:59,553 INFO L290 TraceCheckUtils]: 7: Hoare triple {145732#(<= correct_version_~i~0 5)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:44:59,554 INFO L290 TraceCheckUtils]: 8: Hoare triple {145732#(<= correct_version_~i~0 5)} assume !(~l~0 < ~m); {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:44:59,555 INFO L290 TraceCheckUtils]: 9: Hoare triple {145732#(<= correct_version_~i~0 5)} ~x~0 := 0;~y~0 := 0; {145733#(<= correct_version_~i~0 (+ correct_version_~x~0 5))} is VALID [2022-04-27 11:44:59,555 INFO L290 TraceCheckUtils]: 10: Hoare triple {145733#(<= correct_version_~i~0 (+ correct_version_~x~0 5))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {145734#(<= correct_version_~i~0 (+ correct_version_~x~0 4))} is VALID [2022-04-27 11:44:59,555 INFO L290 TraceCheckUtils]: 11: Hoare triple {145734#(<= 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; {145735#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} is VALID [2022-04-27 11:44:59,556 INFO L290 TraceCheckUtils]: 12: Hoare triple {145735#(<= 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; {145736#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-27 11:44:59,556 INFO L290 TraceCheckUtils]: 13: Hoare triple {145736#(<= 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; {145737#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-27 11:44:59,557 INFO L290 TraceCheckUtils]: 14: Hoare triple {145737#(<= 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; {145738#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:44:59,557 INFO L290 TraceCheckUtils]: 15: Hoare triple {145738#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {145683#false} is VALID [2022-04-27 11:44:59,557 INFO L290 TraceCheckUtils]: 16: Hoare triple {145683#false} assume !(~x~0 < ~i~0); {145683#false} is VALID [2022-04-27 11:44:59,557 INFO L290 TraceCheckUtils]: 17: Hoare triple {145683#false} #res := ~y~0; {145683#false} is VALID [2022-04-27 11:44:59,557 INFO L290 TraceCheckUtils]: 18: Hoare triple {145683#false} assume true; {145683#false} is VALID [2022-04-27 11:44:59,557 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {145683#false} {145682#true} #111#return; {145683#false} is VALID [2022-04-27 11:44:59,557 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-27 11:44:59,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:59,564 INFO L290 TraceCheckUtils]: 0: Hoare triple {145682#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {145682#true} is VALID [2022-04-27 11:44:59,564 INFO L290 TraceCheckUtils]: 1: Hoare triple {145682#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145682#true} is VALID [2022-04-27 11:44:59,564 INFO L290 TraceCheckUtils]: 2: Hoare triple {145682#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145682#true} is VALID [2022-04-27 11:44:59,564 INFO L290 TraceCheckUtils]: 3: Hoare triple {145682#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145682#true} is VALID [2022-04-27 11:44:59,564 INFO L290 TraceCheckUtils]: 4: Hoare triple {145682#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145682#true} is VALID [2022-04-27 11:44:59,565 INFO L290 TraceCheckUtils]: 5: Hoare triple {145682#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145682#true} is VALID [2022-04-27 11:44:59,565 INFO L290 TraceCheckUtils]: 6: Hoare triple {145682#true} assume !(~b~1 < ~n); {145682#true} is VALID [2022-04-27 11:44:59,565 INFO L290 TraceCheckUtils]: 7: Hoare triple {145682#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {145682#true} is VALID [2022-04-27 11:44:59,565 INFO L290 TraceCheckUtils]: 8: Hoare triple {145682#true} assume !(~l~1 < ~m); {145682#true} is VALID [2022-04-27 11:44:59,565 INFO L290 TraceCheckUtils]: 9: Hoare triple {145682#true} ~x~1 := 0;~y~1 := 0; {145682#true} is VALID [2022-04-27 11:44:59,565 INFO L290 TraceCheckUtils]: 10: Hoare triple {145682#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145682#true} is VALID [2022-04-27 11:44:59,565 INFO L290 TraceCheckUtils]: 11: Hoare triple {145682#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145682#true} is VALID [2022-04-27 11:44:59,565 INFO L290 TraceCheckUtils]: 12: Hoare triple {145682#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145682#true} is VALID [2022-04-27 11:44:59,565 INFO L290 TraceCheckUtils]: 13: Hoare triple {145682#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145682#true} is VALID [2022-04-27 11:44:59,565 INFO L290 TraceCheckUtils]: 14: Hoare triple {145682#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145682#true} is VALID [2022-04-27 11:44:59,565 INFO L290 TraceCheckUtils]: 15: Hoare triple {145682#true} assume !(~x~1 < ~i~1); {145682#true} is VALID [2022-04-27 11:44:59,565 INFO L290 TraceCheckUtils]: 16: Hoare triple {145682#true} #res := ~y~1; {145682#true} is VALID [2022-04-27 11:44:59,565 INFO L290 TraceCheckUtils]: 17: Hoare triple {145682#true} assume true; {145682#true} is VALID [2022-04-27 11:44:59,565 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {145682#true} {145683#false} #113#return; {145683#false} is VALID [2022-04-27 11:44:59,567 INFO L272 TraceCheckUtils]: 0: Hoare triple {145682#true} call ULTIMATE.init(); {145726#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:44:59,567 INFO L290 TraceCheckUtils]: 1: Hoare triple {145726#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {145682#true} is VALID [2022-04-27 11:44:59,567 INFO L290 TraceCheckUtils]: 2: Hoare triple {145682#true} assume true; {145682#true} is VALID [2022-04-27 11:44:59,567 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {145682#true} {145682#true} #117#return; {145682#true} is VALID [2022-04-27 11:44:59,567 INFO L272 TraceCheckUtils]: 4: Hoare triple {145682#true} call #t~ret10 := main(); {145682#true} is VALID [2022-04-27 11:44:59,567 INFO L290 TraceCheckUtils]: 5: Hoare triple {145682#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {145682#true} is VALID [2022-04-27 11:44:59,567 INFO L290 TraceCheckUtils]: 6: Hoare triple {145682#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {145682#true} is VALID [2022-04-27 11:44:59,567 INFO L272 TraceCheckUtils]: 7: Hoare triple {145682#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {145682#true} is VALID [2022-04-27 11:44:59,568 INFO L290 TraceCheckUtils]: 8: Hoare triple {145682#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {145727#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:44:59,568 INFO L290 TraceCheckUtils]: 9: Hoare triple {145727#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145728#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:44:59,569 INFO L290 TraceCheckUtils]: 10: Hoare triple {145728#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145729#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:44:59,569 INFO L290 TraceCheckUtils]: 11: Hoare triple {145729#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145730#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:44:59,569 INFO L290 TraceCheckUtils]: 12: Hoare triple {145730#(<= correct_version_~i~0 3)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145731#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:44:59,570 INFO L290 TraceCheckUtils]: 13: Hoare triple {145731#(<= correct_version_~i~0 4)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:44:59,570 INFO L290 TraceCheckUtils]: 14: Hoare triple {145732#(<= correct_version_~i~0 5)} assume !(~b~0 < ~n); {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:44:59,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {145732#(<= correct_version_~i~0 5)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:44:59,570 INFO L290 TraceCheckUtils]: 16: Hoare triple {145732#(<= correct_version_~i~0 5)} assume !(~l~0 < ~m); {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:44:59,571 INFO L290 TraceCheckUtils]: 17: Hoare triple {145732#(<= correct_version_~i~0 5)} ~x~0 := 0;~y~0 := 0; {145733#(<= correct_version_~i~0 (+ correct_version_~x~0 5))} is VALID [2022-04-27 11:44:59,571 INFO L290 TraceCheckUtils]: 18: Hoare triple {145733#(<= correct_version_~i~0 (+ correct_version_~x~0 5))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {145734#(<= correct_version_~i~0 (+ correct_version_~x~0 4))} is VALID [2022-04-27 11:44:59,571 INFO L290 TraceCheckUtils]: 19: Hoare triple {145734#(<= 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; {145735#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} is VALID [2022-04-27 11:44:59,572 INFO L290 TraceCheckUtils]: 20: Hoare triple {145735#(<= 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; {145736#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-27 11:44:59,572 INFO L290 TraceCheckUtils]: 21: Hoare triple {145736#(<= 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; {145737#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-27 11:44:59,572 INFO L290 TraceCheckUtils]: 22: Hoare triple {145737#(<= 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; {145738#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:44:59,573 INFO L290 TraceCheckUtils]: 23: Hoare triple {145738#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {145683#false} is VALID [2022-04-27 11:44:59,573 INFO L290 TraceCheckUtils]: 24: Hoare triple {145683#false} assume !(~x~0 < ~i~0); {145683#false} is VALID [2022-04-27 11:44:59,573 INFO L290 TraceCheckUtils]: 25: Hoare triple {145683#false} #res := ~y~0; {145683#false} is VALID [2022-04-27 11:44:59,573 INFO L290 TraceCheckUtils]: 26: Hoare triple {145683#false} assume true; {145683#false} is VALID [2022-04-27 11:44:59,573 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {145683#false} {145682#true} #111#return; {145683#false} is VALID [2022-04-27 11:44:59,573 INFO L290 TraceCheckUtils]: 28: Hoare triple {145683#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {145683#false} is VALID [2022-04-27 11:44:59,573 INFO L272 TraceCheckUtils]: 29: Hoare triple {145683#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {145682#true} is VALID [2022-04-27 11:44:59,573 INFO L290 TraceCheckUtils]: 30: Hoare triple {145682#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {145682#true} is VALID [2022-04-27 11:44:59,573 INFO L290 TraceCheckUtils]: 31: Hoare triple {145682#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145682#true} is VALID [2022-04-27 11:44:59,573 INFO L290 TraceCheckUtils]: 32: Hoare triple {145682#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145682#true} is VALID [2022-04-27 11:44:59,573 INFO L290 TraceCheckUtils]: 33: Hoare triple {145682#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145682#true} is VALID [2022-04-27 11:44:59,573 INFO L290 TraceCheckUtils]: 34: Hoare triple {145682#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145682#true} is VALID [2022-04-27 11:44:59,573 INFO L290 TraceCheckUtils]: 35: Hoare triple {145682#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145682#true} is VALID [2022-04-27 11:44:59,573 INFO L290 TraceCheckUtils]: 36: Hoare triple {145682#true} assume !(~b~1 < ~n); {145682#true} is VALID [2022-04-27 11:44:59,573 INFO L290 TraceCheckUtils]: 37: Hoare triple {145682#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {145682#true} is VALID [2022-04-27 11:44:59,573 INFO L290 TraceCheckUtils]: 38: Hoare triple {145682#true} assume !(~l~1 < ~m); {145682#true} is VALID [2022-04-27 11:44:59,573 INFO L290 TraceCheckUtils]: 39: Hoare triple {145682#true} ~x~1 := 0;~y~1 := 0; {145682#true} is VALID [2022-04-27 11:44:59,574 INFO L290 TraceCheckUtils]: 40: Hoare triple {145682#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145682#true} is VALID [2022-04-27 11:44:59,574 INFO L290 TraceCheckUtils]: 41: Hoare triple {145682#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145682#true} is VALID [2022-04-27 11:44:59,574 INFO L290 TraceCheckUtils]: 42: Hoare triple {145682#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145682#true} is VALID [2022-04-27 11:44:59,574 INFO L290 TraceCheckUtils]: 43: Hoare triple {145682#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145682#true} is VALID [2022-04-27 11:44:59,574 INFO L290 TraceCheckUtils]: 44: Hoare triple {145682#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145682#true} is VALID [2022-04-27 11:44:59,574 INFO L290 TraceCheckUtils]: 45: Hoare triple {145682#true} assume !(~x~1 < ~i~1); {145682#true} is VALID [2022-04-27 11:44:59,574 INFO L290 TraceCheckUtils]: 46: Hoare triple {145682#true} #res := ~y~1; {145682#true} is VALID [2022-04-27 11:44:59,574 INFO L290 TraceCheckUtils]: 47: Hoare triple {145682#true} assume true; {145682#true} is VALID [2022-04-27 11:44:59,574 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {145682#true} {145683#false} #113#return; {145683#false} is VALID [2022-04-27 11:44:59,574 INFO L290 TraceCheckUtils]: 49: Hoare triple {145683#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {145683#false} is VALID [2022-04-27 11:44:59,574 INFO L272 TraceCheckUtils]: 50: Hoare triple {145683#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {145683#false} is VALID [2022-04-27 11:44:59,574 INFO L290 TraceCheckUtils]: 51: Hoare triple {145683#false} ~cond := #in~cond; {145683#false} is VALID [2022-04-27 11:44:59,574 INFO L290 TraceCheckUtils]: 52: Hoare triple {145683#false} assume 0 == ~cond; {145683#false} is VALID [2022-04-27 11:44:59,574 INFO L290 TraceCheckUtils]: 53: Hoare triple {145683#false} assume !false; {145683#false} is VALID [2022-04-27 11:44:59,574 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 21 proven. 15 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-04-27 11:44:59,574 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:44:59,574 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1481857116] [2022-04-27 11:44:59,575 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1481857116] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:44:59,575 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1278182378] [2022-04-27 11:44:59,575 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:44:59,575 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:44:59,575 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:44:59,576 INFO L229 MonitoredProcess]: Starting monitored process 70 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:44:59,576 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (70)] Waiting until timeout for monitored process [2022-04-27 11:44:59,674 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 11:44:59,674 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:44:59,675 INFO L263 TraceCheckSpWp]: Trace formula consists of 263 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 11:44:59,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:44:59,691 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:44:59,903 INFO L272 TraceCheckUtils]: 0: Hoare triple {145682#true} call ULTIMATE.init(); {145682#true} is VALID [2022-04-27 11:44:59,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {145682#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {145682#true} is VALID [2022-04-27 11:44:59,903 INFO L290 TraceCheckUtils]: 2: Hoare triple {145682#true} assume true; {145682#true} is VALID [2022-04-27 11:44:59,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {145682#true} {145682#true} #117#return; {145682#true} is VALID [2022-04-27 11:44:59,903 INFO L272 TraceCheckUtils]: 4: Hoare triple {145682#true} call #t~ret10 := main(); {145682#true} is VALID [2022-04-27 11:44:59,903 INFO L290 TraceCheckUtils]: 5: Hoare triple {145682#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {145682#true} is VALID [2022-04-27 11:44:59,904 INFO L290 TraceCheckUtils]: 6: Hoare triple {145682#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {145682#true} is VALID [2022-04-27 11:44:59,904 INFO L272 TraceCheckUtils]: 7: Hoare triple {145682#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {145682#true} is VALID [2022-04-27 11:44:59,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {145682#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {145727#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:44:59,905 INFO L290 TraceCheckUtils]: 9: Hoare triple {145727#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145728#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:44:59,905 INFO L290 TraceCheckUtils]: 10: Hoare triple {145728#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145729#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:44:59,905 INFO L290 TraceCheckUtils]: 11: Hoare triple {145729#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145730#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:44:59,906 INFO L290 TraceCheckUtils]: 12: Hoare triple {145730#(<= correct_version_~i~0 3)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145731#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:44:59,906 INFO L290 TraceCheckUtils]: 13: Hoare triple {145731#(<= correct_version_~i~0 4)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:44:59,906 INFO L290 TraceCheckUtils]: 14: Hoare triple {145732#(<= correct_version_~i~0 5)} assume !(~b~0 < ~n); {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:44:59,907 INFO L290 TraceCheckUtils]: 15: Hoare triple {145732#(<= correct_version_~i~0 5)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:44:59,907 INFO L290 TraceCheckUtils]: 16: Hoare triple {145732#(<= correct_version_~i~0 5)} assume !(~l~0 < ~m); {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:44:59,907 INFO L290 TraceCheckUtils]: 17: Hoare triple {145732#(<= correct_version_~i~0 5)} ~x~0 := 0;~y~0 := 0; {145793#(and (<= 0 correct_version_~x~0) (<= correct_version_~i~0 5))} is VALID [2022-04-27 11:44:59,907 INFO L290 TraceCheckUtils]: 18: Hoare triple {145793#(and (<= 0 correct_version_~x~0) (<= correct_version_~i~0 5))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {145797#(and (<= 1 correct_version_~x~0) (<= correct_version_~i~0 5))} is VALID [2022-04-27 11:44:59,908 INFO L290 TraceCheckUtils]: 19: Hoare triple {145797#(and (<= 1 correct_version_~x~0) (<= correct_version_~i~0 5))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {145801#(and (<= 2 correct_version_~x~0) (<= correct_version_~i~0 5))} is VALID [2022-04-27 11:44:59,908 INFO L290 TraceCheckUtils]: 20: Hoare triple {145801#(and (<= 2 correct_version_~x~0) (<= correct_version_~i~0 5))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {145805#(and (<= 3 correct_version_~x~0) (<= correct_version_~i~0 5))} is VALID [2022-04-27 11:44:59,909 INFO L290 TraceCheckUtils]: 21: Hoare triple {145805#(and (<= 3 correct_version_~x~0) (<= correct_version_~i~0 5))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {145809#(and (<= 4 correct_version_~x~0) (<= correct_version_~i~0 5))} is VALID [2022-04-27 11:44:59,909 INFO L290 TraceCheckUtils]: 22: Hoare triple {145809#(and (<= 4 correct_version_~x~0) (<= correct_version_~i~0 5))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {145813#(and (<= 5 correct_version_~x~0) (<= correct_version_~i~0 5))} is VALID [2022-04-27 11:44:59,909 INFO L290 TraceCheckUtils]: 23: Hoare triple {145813#(and (<= 5 correct_version_~x~0) (<= correct_version_~i~0 5))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {145683#false} is VALID [2022-04-27 11:44:59,909 INFO L290 TraceCheckUtils]: 24: Hoare triple {145683#false} assume !(~x~0 < ~i~0); {145683#false} is VALID [2022-04-27 11:44:59,909 INFO L290 TraceCheckUtils]: 25: Hoare triple {145683#false} #res := ~y~0; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 26: Hoare triple {145683#false} assume true; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {145683#false} {145682#true} #111#return; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 28: Hoare triple {145683#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L272 TraceCheckUtils]: 29: Hoare triple {145683#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 30: Hoare triple {145683#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 31: Hoare triple {145683#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 32: Hoare triple {145683#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 33: Hoare triple {145683#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 34: Hoare triple {145683#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 35: Hoare triple {145683#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 36: Hoare triple {145683#false} assume !(~b~1 < ~n); {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 37: Hoare triple {145683#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 38: Hoare triple {145683#false} assume !(~l~1 < ~m); {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 39: Hoare triple {145683#false} ~x~1 := 0;~y~1 := 0; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 40: Hoare triple {145683#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 41: Hoare triple {145683#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 42: Hoare triple {145683#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 43: Hoare triple {145683#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145683#false} is VALID [2022-04-27 11:44:59,910 INFO L290 TraceCheckUtils]: 44: Hoare triple {145683#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145683#false} is VALID [2022-04-27 11:44:59,911 INFO L290 TraceCheckUtils]: 45: Hoare triple {145683#false} assume !(~x~1 < ~i~1); {145683#false} is VALID [2022-04-27 11:44:59,911 INFO L290 TraceCheckUtils]: 46: Hoare triple {145683#false} #res := ~y~1; {145683#false} is VALID [2022-04-27 11:44:59,911 INFO L290 TraceCheckUtils]: 47: Hoare triple {145683#false} assume true; {145683#false} is VALID [2022-04-27 11:44:59,911 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {145683#false} {145683#false} #113#return; {145683#false} is VALID [2022-04-27 11:44:59,911 INFO L290 TraceCheckUtils]: 49: Hoare triple {145683#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {145683#false} is VALID [2022-04-27 11:44:59,911 INFO L272 TraceCheckUtils]: 50: Hoare triple {145683#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {145683#false} is VALID [2022-04-27 11:44:59,911 INFO L290 TraceCheckUtils]: 51: Hoare triple {145683#false} ~cond := #in~cond; {145683#false} is VALID [2022-04-27 11:44:59,911 INFO L290 TraceCheckUtils]: 52: Hoare triple {145683#false} assume 0 == ~cond; {145683#false} is VALID [2022-04-27 11:44:59,911 INFO L290 TraceCheckUtils]: 53: Hoare triple {145683#false} assume !false; {145683#false} is VALID [2022-04-27 11:44:59,911 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 21 proven. 15 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-04-27 11:44:59,911 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:45:00,056 INFO L290 TraceCheckUtils]: 53: Hoare triple {145683#false} assume !false; {145683#false} is VALID [2022-04-27 11:45:00,056 INFO L290 TraceCheckUtils]: 52: Hoare triple {145683#false} assume 0 == ~cond; {145683#false} is VALID [2022-04-27 11:45:00,056 INFO L290 TraceCheckUtils]: 51: Hoare triple {145683#false} ~cond := #in~cond; {145683#false} is VALID [2022-04-27 11:45:00,056 INFO L272 TraceCheckUtils]: 50: Hoare triple {145683#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {145683#false} is VALID [2022-04-27 11:45:00,056 INFO L290 TraceCheckUtils]: 49: Hoare triple {145683#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {145683#false} is VALID [2022-04-27 11:45:00,056 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {145682#true} {145683#false} #113#return; {145683#false} is VALID [2022-04-27 11:45:00,056 INFO L290 TraceCheckUtils]: 47: Hoare triple {145682#true} assume true; {145682#true} is VALID [2022-04-27 11:45:00,056 INFO L290 TraceCheckUtils]: 46: Hoare triple {145682#true} #res := ~y~1; {145682#true} is VALID [2022-04-27 11:45:00,056 INFO L290 TraceCheckUtils]: 45: Hoare triple {145682#true} assume !(~x~1 < ~i~1); {145682#true} is VALID [2022-04-27 11:45:00,056 INFO L290 TraceCheckUtils]: 44: Hoare triple {145682#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145682#true} is VALID [2022-04-27 11:45:00,056 INFO L290 TraceCheckUtils]: 43: Hoare triple {145682#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145682#true} is VALID [2022-04-27 11:45:00,056 INFO L290 TraceCheckUtils]: 42: Hoare triple {145682#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145682#true} is VALID [2022-04-27 11:45:00,056 INFO L290 TraceCheckUtils]: 41: Hoare triple {145682#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145682#true} is VALID [2022-04-27 11:45:00,056 INFO L290 TraceCheckUtils]: 40: Hoare triple {145682#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {145682#true} is VALID [2022-04-27 11:45:00,056 INFO L290 TraceCheckUtils]: 39: Hoare triple {145682#true} ~x~1 := 0;~y~1 := 0; {145682#true} is VALID [2022-04-27 11:45:00,057 INFO L290 TraceCheckUtils]: 38: Hoare triple {145682#true} assume !(~l~1 < ~m); {145682#true} is VALID [2022-04-27 11:45:00,057 INFO L290 TraceCheckUtils]: 37: Hoare triple {145682#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {145682#true} is VALID [2022-04-27 11:45:00,057 INFO L290 TraceCheckUtils]: 36: Hoare triple {145682#true} assume !(~b~1 < ~n); {145682#true} is VALID [2022-04-27 11:45:00,057 INFO L290 TraceCheckUtils]: 35: Hoare triple {145682#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145682#true} is VALID [2022-04-27 11:45:00,057 INFO L290 TraceCheckUtils]: 34: Hoare triple {145682#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145682#true} is VALID [2022-04-27 11:45:00,057 INFO L290 TraceCheckUtils]: 33: Hoare triple {145682#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145682#true} is VALID [2022-04-27 11:45:00,057 INFO L290 TraceCheckUtils]: 32: Hoare triple {145682#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145682#true} is VALID [2022-04-27 11:45:00,057 INFO L290 TraceCheckUtils]: 31: Hoare triple {145682#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {145682#true} is VALID [2022-04-27 11:45:00,057 INFO L290 TraceCheckUtils]: 30: Hoare triple {145682#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {145682#true} is VALID [2022-04-27 11:45:00,057 INFO L272 TraceCheckUtils]: 29: Hoare triple {145683#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {145682#true} is VALID [2022-04-27 11:45:00,057 INFO L290 TraceCheckUtils]: 28: Hoare triple {145683#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {145683#false} is VALID [2022-04-27 11:45:00,057 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {145683#false} {145682#true} #111#return; {145683#false} is VALID [2022-04-27 11:45:00,057 INFO L290 TraceCheckUtils]: 26: Hoare triple {145683#false} assume true; {145683#false} is VALID [2022-04-27 11:45:00,057 INFO L290 TraceCheckUtils]: 25: Hoare triple {145683#false} #res := ~y~0; {145683#false} is VALID [2022-04-27 11:45:00,057 INFO L290 TraceCheckUtils]: 24: Hoare triple {145683#false} assume !(~x~0 < ~i~0); {145683#false} is VALID [2022-04-27 11:45:00,058 INFO L290 TraceCheckUtils]: 23: Hoare triple {145738#(<= correct_version_~i~0 correct_version_~x~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {145683#false} is VALID [2022-04-27 11:45:00,059 INFO L290 TraceCheckUtils]: 22: Hoare triple {145737#(<= 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; {145738#(<= correct_version_~i~0 correct_version_~x~0)} is VALID [2022-04-27 11:45:00,060 INFO L290 TraceCheckUtils]: 21: Hoare triple {145736#(<= 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; {145737#(<= correct_version_~i~0 (+ correct_version_~x~0 1))} is VALID [2022-04-27 11:45:00,060 INFO L290 TraceCheckUtils]: 20: Hoare triple {145735#(<= 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; {145736#(<= correct_version_~i~0 (+ correct_version_~x~0 2))} is VALID [2022-04-27 11:45:00,061 INFO L290 TraceCheckUtils]: 19: Hoare triple {145734#(<= 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; {145735#(<= correct_version_~i~0 (+ correct_version_~x~0 3))} is VALID [2022-04-27 11:45:00,061 INFO L290 TraceCheckUtils]: 18: Hoare triple {145733#(<= correct_version_~i~0 (+ correct_version_~x~0 5))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {145734#(<= correct_version_~i~0 (+ correct_version_~x~0 4))} is VALID [2022-04-27 11:45:00,061 INFO L290 TraceCheckUtils]: 17: Hoare triple {145732#(<= correct_version_~i~0 5)} ~x~0 := 0;~y~0 := 0; {145733#(<= correct_version_~i~0 (+ correct_version_~x~0 5))} is VALID [2022-04-27 11:45:00,061 INFO L290 TraceCheckUtils]: 16: Hoare triple {145732#(<= correct_version_~i~0 5)} assume !(~l~0 < ~m); {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:45:00,062 INFO L290 TraceCheckUtils]: 15: Hoare triple {145732#(<= correct_version_~i~0 5)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:45:00,062 INFO L290 TraceCheckUtils]: 14: Hoare triple {145732#(<= correct_version_~i~0 5)} assume !(~b~0 < ~n); {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:45:00,062 INFO L290 TraceCheckUtils]: 13: Hoare triple {145731#(<= correct_version_~i~0 4)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145732#(<= correct_version_~i~0 5)} is VALID [2022-04-27 11:45:00,063 INFO L290 TraceCheckUtils]: 12: Hoare triple {145730#(<= correct_version_~i~0 3)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145731#(<= correct_version_~i~0 4)} is VALID [2022-04-27 11:45:00,063 INFO L290 TraceCheckUtils]: 11: Hoare triple {145729#(<= correct_version_~i~0 2)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145730#(<= correct_version_~i~0 3)} is VALID [2022-04-27 11:45:00,063 INFO L290 TraceCheckUtils]: 10: Hoare triple {145728#(<= correct_version_~i~0 1)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145729#(<= correct_version_~i~0 2)} is VALID [2022-04-27 11:45:00,064 INFO L290 TraceCheckUtils]: 9: Hoare triple {145727#(<= correct_version_~i~0 0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {145728#(<= correct_version_~i~0 1)} is VALID [2022-04-27 11:45:00,064 INFO L290 TraceCheckUtils]: 8: Hoare triple {145682#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {145727#(<= correct_version_~i~0 0)} is VALID [2022-04-27 11:45:00,064 INFO L272 TraceCheckUtils]: 7: Hoare triple {145682#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {145682#true} is VALID [2022-04-27 11:45:00,064 INFO L290 TraceCheckUtils]: 6: Hoare triple {145682#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {145682#true} is VALID [2022-04-27 11:45:00,064 INFO L290 TraceCheckUtils]: 5: Hoare triple {145682#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {145682#true} is VALID [2022-04-27 11:45:00,064 INFO L272 TraceCheckUtils]: 4: Hoare triple {145682#true} call #t~ret10 := main(); {145682#true} is VALID [2022-04-27 11:45:00,064 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {145682#true} {145682#true} #117#return; {145682#true} is VALID [2022-04-27 11:45:00,064 INFO L290 TraceCheckUtils]: 2: Hoare triple {145682#true} assume true; {145682#true} is VALID [2022-04-27 11:45:00,064 INFO L290 TraceCheckUtils]: 1: Hoare triple {145682#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {145682#true} is VALID [2022-04-27 11:45:00,064 INFO L272 TraceCheckUtils]: 0: Hoare triple {145682#true} call ULTIMATE.init(); {145682#true} is VALID [2022-04-27 11:45:00,064 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 21 proven. 15 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-04-27 11:45:00,065 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1278182378] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:45:00,065 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:45:00,065 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14, 14] total 21 [2022-04-27 11:45:00,065 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2089635145] [2022-04-27 11:45:00,065 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:45:00,070 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.6666666666666665) internal successors, (56), 20 states have internal predecessors, (56), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 54 [2022-04-27 11:45:00,070 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:45:00,070 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 2.6666666666666665) internal successors, (56), 20 states have internal predecessors, (56), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:45:00,101 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:45:00,101 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-27 11:45:00,101 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:45:00,102 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-27 11:45:00,102 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=309, Unknown=0, NotChecked=0, Total=420 [2022-04-27 11:45:00,102 INFO L87 Difference]: Start difference. First operand 742 states and 837 transitions. Second operand has 21 states, 21 states have (on average 2.6666666666666665) internal successors, (56), 20 states have internal predecessors, (56), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:45:07,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:07,831 INFO L93 Difference]: Finished difference Result 1298 states and 1460 transitions. [2022-04-27 11:45:07,831 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-27 11:45:07,832 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.6666666666666665) internal successors, (56), 20 states have internal predecessors, (56), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 54 [2022-04-27 11:45:07,832 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:45:07,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.6666666666666665) internal successors, (56), 20 states have internal predecessors, (56), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:45:07,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 122 transitions. [2022-04-27 11:45:07,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.6666666666666665) internal successors, (56), 20 states have internal predecessors, (56), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:45:07,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 122 transitions. [2022-04-27 11:45:07,833 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 122 transitions. [2022-04-27 11:45:07,932 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:45:07,973 INFO L225 Difference]: With dead ends: 1298 [2022-04-27 11:45:07,973 INFO L226 Difference]: Without dead ends: 854 [2022-04-27 11:45:07,978 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 154 GetRequests, 107 SyntacticMatches, 1 SemanticMatches, 46 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 456 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=579, Invalid=1677, Unknown=0, NotChecked=0, Total=2256 [2022-04-27 11:45:07,978 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 173 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 377 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 180 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 402 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 377 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:45:07,978 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [180 Valid, 75 Invalid, 402 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 377 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 11:45:07,978 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 854 states. [2022-04-27 11:45:15,325 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 854 to 824. [2022-04-27 11:45:15,325 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:45:15,326 INFO L82 GeneralOperation]: Start isEquivalent. First operand 854 states. Second operand has 824 states, 737 states have (on average 1.1438263229308006) internal successors, (843), 789 states have internal predecessors, (843), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) [2022-04-27 11:45:15,326 INFO L74 IsIncluded]: Start isIncluded. First operand 854 states. Second operand has 824 states, 737 states have (on average 1.1438263229308006) internal successors, (843), 789 states have internal predecessors, (843), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) [2022-04-27 11:45:15,327 INFO L87 Difference]: Start difference. First operand 854 states. Second operand has 824 states, 737 states have (on average 1.1438263229308006) internal successors, (843), 789 states have internal predecessors, (843), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) [2022-04-27 11:45:15,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:15,358 INFO L93 Difference]: Finished difference Result 854 states and 960 transitions. [2022-04-27 11:45:15,358 INFO L276 IsEmpty]: Start isEmpty. Operand 854 states and 960 transitions. [2022-04-27 11:45:15,362 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:45:15,362 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:45:15,362 INFO L74 IsIncluded]: Start isIncluded. First operand has 824 states, 737 states have (on average 1.1438263229308006) internal successors, (843), 789 states have internal predecessors, (843), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) Second operand 854 states. [2022-04-27 11:45:15,363 INFO L87 Difference]: Start difference. First operand has 824 states, 737 states have (on average 1.1438263229308006) internal successors, (843), 789 states have internal predecessors, (843), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) Second operand 854 states. [2022-04-27 11:45:15,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:15,388 INFO L93 Difference]: Finished difference Result 854 states and 960 transitions. [2022-04-27 11:45:15,388 INFO L276 IsEmpty]: Start isEmpty. Operand 854 states and 960 transitions. [2022-04-27 11:45:15,392 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:45:15,392 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:45:15,392 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:45:15,392 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:45:15,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 824 states, 737 states have (on average 1.1438263229308006) internal successors, (843), 789 states have internal predecessors, (843), 31 states have call successors, (31), 5 states have call predecessors, (31), 55 states have return successors, (56), 29 states have call predecessors, (56), 29 states have call successors, (56) [2022-04-27 11:45:15,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 824 states to 824 states and 930 transitions. [2022-04-27 11:45:15,423 INFO L78 Accepts]: Start accepts. Automaton has 824 states and 930 transitions. Word has length 54 [2022-04-27 11:45:15,424 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:45:15,424 INFO L495 AbstractCegarLoop]: Abstraction has 824 states and 930 transitions. [2022-04-27 11:45:15,424 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 2.6666666666666665) internal successors, (56), 20 states have internal predecessors, (56), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:45:15,424 INFO L276 IsEmpty]: Start isEmpty. Operand 824 states and 930 transitions. [2022-04-27 11:45:15,429 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 11:45:15,429 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:45:15,429 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-27 11:45:15,445 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (70)] Forceful destruction successful, exit code 0 [2022-04-27 11:45:15,642 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable78,70 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:45:15,642 INFO L420 AbstractCegarLoop]: === Iteration 80 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:45:15,642 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:45:15,643 INFO L85 PathProgramCache]: Analyzing trace with hash -579740214, now seen corresponding path program 70 times [2022-04-27 11:45:15,643 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:45:15,643 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1399776704] [2022-04-27 11:45:15,643 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:45:15,643 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:45:15,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:15,717 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:45:15,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:15,719 INFO L290 TraceCheckUtils]: 0: Hoare triple {151068#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {151017#true} is VALID [2022-04-27 11:45:15,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {151017#true} assume true; {151017#true} is VALID [2022-04-27 11:45:15,719 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {151017#true} {151017#true} #117#return; {151017#true} is VALID [2022-04-27 11:45:15,719 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:45:15,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:15,898 INFO L290 TraceCheckUtils]: 0: Hoare triple {151017#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:15,898 INFO L290 TraceCheckUtils]: 1: Hoare triple {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:15,898 INFO L290 TraceCheckUtils]: 2: Hoare triple {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:15,899 INFO L290 TraceCheckUtils]: 3: Hoare triple {151069#(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; {151070#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:45:15,899 INFO L290 TraceCheckUtils]: 4: Hoare triple {151070#(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; {151071#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:45:15,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {151071#(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; {151072#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:45:15,900 INFO L290 TraceCheckUtils]: 6: Hoare triple {151072#(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; {151073#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:45:15,900 INFO L290 TraceCheckUtils]: 7: Hoare triple {151073#(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; {151074#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:45:15,900 INFO L290 TraceCheckUtils]: 8: Hoare triple {151074#(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; {151075#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:45:15,901 INFO L290 TraceCheckUtils]: 9: Hoare triple {151075#(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; {151076#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:45:15,901 INFO L290 TraceCheckUtils]: 10: Hoare triple {151076#(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; {151077#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:45:15,901 INFO L290 TraceCheckUtils]: 11: Hoare triple {151077#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151078#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:45:15,902 INFO L290 TraceCheckUtils]: 12: Hoare triple {151078#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} is VALID [2022-04-27 11:45:15,902 INFO L290 TraceCheckUtils]: 13: Hoare triple {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} assume !(~l~0 < ~m); {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} is VALID [2022-04-27 11:45:15,902 INFO L290 TraceCheckUtils]: 14: Hoare triple {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {151080#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 10) (<= 10 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:45:15,903 INFO L290 TraceCheckUtils]: 15: Hoare triple {151080#(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; {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:45:15,903 INFO L290 TraceCheckUtils]: 16: Hoare triple {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:45:15,903 INFO L290 TraceCheckUtils]: 17: Hoare triple {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:45:15,903 INFO L290 TraceCheckUtils]: 18: Hoare triple {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:45:15,904 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {151017#true} #111#return; {151042#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-27 11:45:15,904 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-27 11:45:15,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:16,284 INFO L290 TraceCheckUtils]: 0: Hoare triple {151017#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:16,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:16,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:16,286 INFO L290 TraceCheckUtils]: 3: Hoare triple {151083#(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; {151084#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:45:16,286 INFO L290 TraceCheckUtils]: 4: Hoare triple {151084#(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; {151085#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:45:16,287 INFO L290 TraceCheckUtils]: 5: Hoare triple {151085#(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; {151086#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:45:16,287 INFO L290 TraceCheckUtils]: 6: Hoare triple {151086#(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; {151087#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:45:16,287 INFO L290 TraceCheckUtils]: 7: Hoare triple {151087#(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; {151088#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:45:16,288 INFO L290 TraceCheckUtils]: 8: Hoare triple {151088#(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; {151089#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:45:16,288 INFO L290 TraceCheckUtils]: 9: Hoare triple {151089#(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; {151090#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:45:16,289 INFO L290 TraceCheckUtils]: 10: Hoare triple {151090#(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; {151091#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:45:16,289 INFO L290 TraceCheckUtils]: 11: Hoare triple {151091#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151092#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:45:16,290 INFO L290 TraceCheckUtils]: 12: Hoare triple {151092#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} is VALID [2022-04-27 11:45:16,290 INFO L290 TraceCheckUtils]: 13: Hoare triple {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} assume !(~l~1 < ~m); {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} is VALID [2022-04-27 11:45:16,290 INFO L290 TraceCheckUtils]: 14: Hoare triple {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {151094#(and (<= 10 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 10))} is VALID [2022-04-27 11:45:16,291 INFO L290 TraceCheckUtils]: 15: Hoare triple {151094#(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; {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:45:16,291 INFO L290 TraceCheckUtils]: 16: Hoare triple {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:45:16,292 INFO L290 TraceCheckUtils]: 17: Hoare triple {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:45:16,292 INFO L290 TraceCheckUtils]: 18: Hoare triple {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:45:16,293 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {151043#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {151064#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:45:16,293 INFO L272 TraceCheckUtils]: 0: Hoare triple {151017#true} call ULTIMATE.init(); {151068#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:45:16,293 INFO L290 TraceCheckUtils]: 1: Hoare triple {151068#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {151017#true} is VALID [2022-04-27 11:45:16,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {151017#true} assume true; {151017#true} is VALID [2022-04-27 11:45:16,293 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {151017#true} {151017#true} #117#return; {151017#true} is VALID [2022-04-27 11:45:16,293 INFO L272 TraceCheckUtils]: 4: Hoare triple {151017#true} call #t~ret10 := main(); {151017#true} is VALID [2022-04-27 11:45:16,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {151017#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {151017#true} is VALID [2022-04-27 11:45:16,293 INFO L290 TraceCheckUtils]: 6: Hoare triple {151017#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {151017#true} is VALID [2022-04-27 11:45:16,294 INFO L272 TraceCheckUtils]: 7: Hoare triple {151017#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {151017#true} is VALID [2022-04-27 11:45:16,294 INFO L290 TraceCheckUtils]: 8: Hoare triple {151017#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,294 INFO L290 TraceCheckUtils]: 9: Hoare triple {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,295 INFO L290 TraceCheckUtils]: 10: Hoare triple {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,295 INFO L290 TraceCheckUtils]: 11: Hoare triple {151069#(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; {151070#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:45:16,295 INFO L290 TraceCheckUtils]: 12: Hoare triple {151070#(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; {151071#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:45:16,296 INFO L290 TraceCheckUtils]: 13: Hoare triple {151071#(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; {151072#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:45:16,296 INFO L290 TraceCheckUtils]: 14: Hoare triple {151072#(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; {151073#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:45:16,297 INFO L290 TraceCheckUtils]: 15: Hoare triple {151073#(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; {151074#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,297 INFO L290 TraceCheckUtils]: 16: Hoare triple {151074#(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; {151075#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,298 INFO L290 TraceCheckUtils]: 17: Hoare triple {151075#(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; {151076#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:45:16,298 INFO L290 TraceCheckUtils]: 18: Hoare triple {151076#(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; {151077#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:45:16,299 INFO L290 TraceCheckUtils]: 19: Hoare triple {151077#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151078#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,299 INFO L290 TraceCheckUtils]: 20: Hoare triple {151078#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,299 INFO L290 TraceCheckUtils]: 21: Hoare triple {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} assume !(~l~0 < ~m); {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,300 INFO L290 TraceCheckUtils]: 22: Hoare triple {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {151080#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 10) (<= 10 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:45:16,300 INFO L290 TraceCheckUtils]: 23: Hoare triple {151080#(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; {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:45:16,301 INFO L290 TraceCheckUtils]: 24: Hoare triple {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:45:16,301 INFO L290 TraceCheckUtils]: 25: Hoare triple {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:45:16,301 INFO L290 TraceCheckUtils]: 26: Hoare triple {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:45:16,302 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {151017#true} #111#return; {151042#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-27 11:45:16,302 INFO L290 TraceCheckUtils]: 28: Hoare triple {151042#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {151043#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} is VALID [2022-04-27 11:45:16,302 INFO L272 TraceCheckUtils]: 29: Hoare triple {151043#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {151017#true} is VALID [2022-04-27 11:45:16,303 INFO L290 TraceCheckUtils]: 30: Hoare triple {151017#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:16,303 INFO L290 TraceCheckUtils]: 31: Hoare triple {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:16,303 INFO L290 TraceCheckUtils]: 32: Hoare triple {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:16,304 INFO L290 TraceCheckUtils]: 33: Hoare triple {151083#(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; {151084#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:45:16,304 INFO L290 TraceCheckUtils]: 34: Hoare triple {151084#(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; {151085#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:45:16,305 INFO L290 TraceCheckUtils]: 35: Hoare triple {151085#(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; {151086#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:45:16,305 INFO L290 TraceCheckUtils]: 36: Hoare triple {151086#(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; {151087#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:45:16,305 INFO L290 TraceCheckUtils]: 37: Hoare triple {151087#(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; {151088#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:45:16,306 INFO L290 TraceCheckUtils]: 38: Hoare triple {151088#(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; {151089#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:45:16,306 INFO L290 TraceCheckUtils]: 39: Hoare triple {151089#(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; {151090#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:45:16,307 INFO L290 TraceCheckUtils]: 40: Hoare triple {151090#(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; {151091#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:45:16,307 INFO L290 TraceCheckUtils]: 41: Hoare triple {151091#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151092#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:45:16,308 INFO L290 TraceCheckUtils]: 42: Hoare triple {151092#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} is VALID [2022-04-27 11:45:16,308 INFO L290 TraceCheckUtils]: 43: Hoare triple {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} assume !(~l~1 < ~m); {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} is VALID [2022-04-27 11:45:16,308 INFO L290 TraceCheckUtils]: 44: Hoare triple {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {151094#(and (<= 10 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 10))} is VALID [2022-04-27 11:45:16,309 INFO L290 TraceCheckUtils]: 45: Hoare triple {151094#(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; {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:45:16,309 INFO L290 TraceCheckUtils]: 46: Hoare triple {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:45:16,309 INFO L290 TraceCheckUtils]: 47: Hoare triple {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:45:16,310 INFO L290 TraceCheckUtils]: 48: Hoare triple {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:45:16,311 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {151043#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {151064#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:45:16,311 INFO L290 TraceCheckUtils]: 50: Hoare triple {151064#(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; {151065#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:45:16,312 INFO L272 TraceCheckUtils]: 51: Hoare triple {151065#(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)); {151066#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:45:16,312 INFO L290 TraceCheckUtils]: 52: Hoare triple {151066#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {151067#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:45:16,312 INFO L290 TraceCheckUtils]: 53: Hoare triple {151067#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {151018#false} is VALID [2022-04-27 11:45:16,312 INFO L290 TraceCheckUtils]: 54: Hoare triple {151018#false} assume !false; {151018#false} is VALID [2022-04-27 11:45:16,312 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 0 proven. 112 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-27 11:45:16,312 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:45:16,313 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1399776704] [2022-04-27 11:45:16,313 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1399776704] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:45:16,313 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1799974421] [2022-04-27 11:45:16,313 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 11:45:16,313 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:45:16,313 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:45:16,314 INFO L229 MonitoredProcess]: Starting monitored process 71 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:45:16,315 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (71)] Waiting until timeout for monitored process [2022-04-27 11:45:16,415 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 11:45:16,415 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:45:16,416 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 67 conjunts are in the unsatisfiable core [2022-04-27 11:45:16,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:16,424 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:45:16,955 INFO L272 TraceCheckUtils]: 0: Hoare triple {151017#true} call ULTIMATE.init(); {151017#true} is VALID [2022-04-27 11:45:16,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {151017#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {151017#true} is VALID [2022-04-27 11:45:16,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {151017#true} assume true; {151017#true} is VALID [2022-04-27 11:45:16,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {151017#true} {151017#true} #117#return; {151017#true} is VALID [2022-04-27 11:45:16,955 INFO L272 TraceCheckUtils]: 4: Hoare triple {151017#true} call #t~ret10 := main(); {151017#true} is VALID [2022-04-27 11:45:16,955 INFO L290 TraceCheckUtils]: 5: Hoare triple {151017#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {151017#true} is VALID [2022-04-27 11:45:16,955 INFO L290 TraceCheckUtils]: 6: Hoare triple {151017#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {151017#true} is VALID [2022-04-27 11:45:16,955 INFO L272 TraceCheckUtils]: 7: Hoare triple {151017#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {151017#true} is VALID [2022-04-27 11:45:16,956 INFO L290 TraceCheckUtils]: 8: Hoare triple {151017#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,956 INFO L290 TraceCheckUtils]: 9: Hoare triple {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,956 INFO L290 TraceCheckUtils]: 10: Hoare triple {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,957 INFO L290 TraceCheckUtils]: 11: Hoare triple {151069#(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; {151070#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:45:16,957 INFO L290 TraceCheckUtils]: 12: Hoare triple {151070#(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; {151071#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:45:16,957 INFO L290 TraceCheckUtils]: 13: Hoare triple {151071#(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; {151072#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:45:16,958 INFO L290 TraceCheckUtils]: 14: Hoare triple {151072#(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; {151073#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:45:16,958 INFO L290 TraceCheckUtils]: 15: Hoare triple {151073#(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; {151074#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,959 INFO L290 TraceCheckUtils]: 16: Hoare triple {151074#(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; {151075#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,959 INFO L290 TraceCheckUtils]: 17: Hoare triple {151075#(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; {151076#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:45:16,959 INFO L290 TraceCheckUtils]: 18: Hoare triple {151076#(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; {151077#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:45:16,960 INFO L290 TraceCheckUtils]: 19: Hoare triple {151077#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151078#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,960 INFO L290 TraceCheckUtils]: 20: Hoare triple {151078#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,960 INFO L290 TraceCheckUtils]: 21: Hoare triple {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} assume !(~l~0 < ~m); {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,961 INFO L290 TraceCheckUtils]: 22: Hoare triple {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {151166#(and (<= correct_version_~j~0 10) (= correct_version_~y~0 0) (<= 10 correct_version_~j~0))} is VALID [2022-04-27 11:45:16,961 INFO L290 TraceCheckUtils]: 23: Hoare triple {151166#(and (<= correct_version_~j~0 10) (= correct_version_~y~0 0) (<= 10 correct_version_~j~0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:45:16,961 INFO L290 TraceCheckUtils]: 24: Hoare triple {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:45:16,962 INFO L290 TraceCheckUtils]: 25: Hoare triple {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:45:16,962 INFO L290 TraceCheckUtils]: 26: Hoare triple {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:45:16,963 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {151017#true} #111#return; {151042#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-27 11:45:16,963 INFO L290 TraceCheckUtils]: 28: Hoare triple {151042#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {151043#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} is VALID [2022-04-27 11:45:16,963 INFO L272 TraceCheckUtils]: 29: Hoare triple {151043#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {151017#true} is VALID [2022-04-27 11:45:16,963 INFO L290 TraceCheckUtils]: 30: Hoare triple {151017#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:16,964 INFO L290 TraceCheckUtils]: 31: Hoare triple {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:16,964 INFO L290 TraceCheckUtils]: 32: Hoare triple {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:16,964 INFO L290 TraceCheckUtils]: 33: Hoare triple {151083#(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; {151084#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:45:16,965 INFO L290 TraceCheckUtils]: 34: Hoare triple {151084#(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; {151085#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:45:16,965 INFO L290 TraceCheckUtils]: 35: Hoare triple {151085#(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; {151086#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:45:16,965 INFO L290 TraceCheckUtils]: 36: Hoare triple {151086#(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; {151087#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:45:16,966 INFO L290 TraceCheckUtils]: 37: Hoare triple {151087#(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; {151088#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:45:16,966 INFO L290 TraceCheckUtils]: 38: Hoare triple {151088#(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; {151089#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:45:16,967 INFO L290 TraceCheckUtils]: 39: Hoare triple {151089#(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; {151090#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:45:16,967 INFO L290 TraceCheckUtils]: 40: Hoare triple {151090#(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; {151091#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:45:16,967 INFO L290 TraceCheckUtils]: 41: Hoare triple {151091#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151092#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:45:16,968 INFO L290 TraceCheckUtils]: 42: Hoare triple {151092#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} is VALID [2022-04-27 11:45:16,968 INFO L290 TraceCheckUtils]: 43: Hoare triple {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} assume !(~l~1 < ~m); {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} is VALID [2022-04-27 11:45:16,968 INFO L290 TraceCheckUtils]: 44: Hoare triple {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {151233#(and (= student_version_~y~1 0) (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} is VALID [2022-04-27 11:45:16,969 INFO L290 TraceCheckUtils]: 45: Hoare triple {151233#(and (= student_version_~y~1 0) (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:45:16,969 INFO L290 TraceCheckUtils]: 46: Hoare triple {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:45:16,969 INFO L290 TraceCheckUtils]: 47: Hoare triple {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:45:16,970 INFO L290 TraceCheckUtils]: 48: Hoare triple {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:45:16,970 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {151043#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {151249#(and (<= 10 main_~n_stones1~0) (<= 10 |main_#t~ret9|) (<= main_~n_stones1~0 10) (<= |main_#t~ret9| 10))} is VALID [2022-04-27 11:45:16,970 INFO L290 TraceCheckUtils]: 50: Hoare triple {151249#(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; {151253#(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-27 11:45:16,971 INFO L272 TraceCheckUtils]: 51: Hoare triple {151253#(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)); {151257#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:45:16,971 INFO L290 TraceCheckUtils]: 52: Hoare triple {151257#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {151261#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:45:16,971 INFO L290 TraceCheckUtils]: 53: Hoare triple {151261#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {151018#false} is VALID [2022-04-27 11:45:16,972 INFO L290 TraceCheckUtils]: 54: Hoare triple {151018#false} assume !false; {151018#false} is VALID [2022-04-27 11:45:16,972 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 0 proven. 112 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-27 11:45:16,972 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:45:17,392 INFO L290 TraceCheckUtils]: 54: Hoare triple {151018#false} assume !false; {151018#false} is VALID [2022-04-27 11:45:17,392 INFO L290 TraceCheckUtils]: 53: Hoare triple {151261#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {151018#false} is VALID [2022-04-27 11:45:17,392 INFO L290 TraceCheckUtils]: 52: Hoare triple {151257#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {151261#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:45:17,393 INFO L272 TraceCheckUtils]: 51: Hoare triple {151065#(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)); {151257#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:45:17,393 INFO L290 TraceCheckUtils]: 50: Hoare triple {151064#(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; {151065#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:45:17,394 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {151043#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {151064#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:45:17,394 INFO L290 TraceCheckUtils]: 48: Hoare triple {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:45:17,395 INFO L290 TraceCheckUtils]: 47: Hoare triple {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {151096#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:45:17,395 INFO L290 TraceCheckUtils]: 46: Hoare triple {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:45:17,395 INFO L290 TraceCheckUtils]: 45: Hoare triple {151094#(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; {151095#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:45:17,396 INFO L290 TraceCheckUtils]: 44: Hoare triple {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {151094#(and (<= 10 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 10))} is VALID [2022-04-27 11:45:17,396 INFO L290 TraceCheckUtils]: 43: Hoare triple {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} assume !(~l~1 < ~m); {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} is VALID [2022-04-27 11:45:17,396 INFO L290 TraceCheckUtils]: 42: Hoare triple {151092#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151093#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} is VALID [2022-04-27 11:45:17,397 INFO L290 TraceCheckUtils]: 41: Hoare triple {151091#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {151092#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:45:17,397 INFO L290 TraceCheckUtils]: 40: Hoare triple {151090#(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; {151091#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:45:17,397 INFO L290 TraceCheckUtils]: 39: Hoare triple {151089#(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; {151090#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:45:17,398 INFO L290 TraceCheckUtils]: 38: Hoare triple {151088#(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; {151089#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:45:17,398 INFO L290 TraceCheckUtils]: 37: Hoare triple {151087#(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; {151088#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:45:17,399 INFO L290 TraceCheckUtils]: 36: Hoare triple {151086#(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; {151087#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:45:17,399 INFO L290 TraceCheckUtils]: 35: Hoare triple {151085#(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; {151086#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:45:17,399 INFO L290 TraceCheckUtils]: 34: Hoare triple {151084#(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; {151085#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:45:17,400 INFO L290 TraceCheckUtils]: 33: Hoare triple {151083#(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; {151084#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:45:17,400 INFO L290 TraceCheckUtils]: 32: Hoare triple {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:17,400 INFO L290 TraceCheckUtils]: 31: Hoare triple {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:17,401 INFO L290 TraceCheckUtils]: 30: Hoare triple {151017#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {151083#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:17,401 INFO L272 TraceCheckUtils]: 29: Hoare triple {151043#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {151017#true} is VALID [2022-04-27 11:45:17,401 INFO L290 TraceCheckUtils]: 28: Hoare triple {151042#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {151043#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} is VALID [2022-04-27 11:45:17,401 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {151017#true} #111#return; {151042#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-27 11:45:17,402 INFO L290 TraceCheckUtils]: 26: Hoare triple {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:45:17,402 INFO L290 TraceCheckUtils]: 25: Hoare triple {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {151082#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:45:17,402 INFO L290 TraceCheckUtils]: 24: Hoare triple {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:45:17,403 INFO L290 TraceCheckUtils]: 23: Hoare triple {151080#(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; {151081#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:45:17,403 INFO L290 TraceCheckUtils]: 22: Hoare triple {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {151080#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 10) (<= 10 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:45:17,403 INFO L290 TraceCheckUtils]: 21: Hoare triple {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} assume !(~l~0 < ~m); {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} is VALID [2022-04-27 11:45:17,404 INFO L290 TraceCheckUtils]: 20: Hoare triple {151078#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151079#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} is VALID [2022-04-27 11:45:17,404 INFO L290 TraceCheckUtils]: 19: Hoare triple {151077#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {151078#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:45:17,404 INFO L290 TraceCheckUtils]: 18: Hoare triple {151076#(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; {151077#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:45:17,405 INFO L290 TraceCheckUtils]: 17: Hoare triple {151075#(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; {151076#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:45:17,405 INFO L290 TraceCheckUtils]: 16: Hoare triple {151074#(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; {151075#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:45:17,406 INFO L290 TraceCheckUtils]: 15: Hoare triple {151073#(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; {151074#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:45:17,406 INFO L290 TraceCheckUtils]: 14: Hoare triple {151072#(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; {151073#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:45:17,406 INFO L290 TraceCheckUtils]: 13: Hoare triple {151071#(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; {151072#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:45:17,407 INFO L290 TraceCheckUtils]: 12: Hoare triple {151070#(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; {151071#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:45:17,407 INFO L290 TraceCheckUtils]: 11: Hoare triple {151069#(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; {151070#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:45:17,407 INFO L290 TraceCheckUtils]: 10: Hoare triple {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:17,408 INFO L290 TraceCheckUtils]: 9: Hoare triple {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:17,408 INFO L290 TraceCheckUtils]: 8: Hoare triple {151017#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {151069#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:17,408 INFO L272 TraceCheckUtils]: 7: Hoare triple {151017#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {151017#true} is VALID [2022-04-27 11:45:17,408 INFO L290 TraceCheckUtils]: 6: Hoare triple {151017#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {151017#true} is VALID [2022-04-27 11:45:17,408 INFO L290 TraceCheckUtils]: 5: Hoare triple {151017#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {151017#true} is VALID [2022-04-27 11:45:17,408 INFO L272 TraceCheckUtils]: 4: Hoare triple {151017#true} call #t~ret10 := main(); {151017#true} is VALID [2022-04-27 11:45:17,408 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {151017#true} {151017#true} #117#return; {151017#true} is VALID [2022-04-27 11:45:17,408 INFO L290 TraceCheckUtils]: 2: Hoare triple {151017#true} assume true; {151017#true} is VALID [2022-04-27 11:45:17,408 INFO L290 TraceCheckUtils]: 1: Hoare triple {151017#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {151017#true} is VALID [2022-04-27 11:45:17,408 INFO L272 TraceCheckUtils]: 0: Hoare triple {151017#true} call ULTIMATE.init(); {151017#true} is VALID [2022-04-27 11:45:17,409 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 0 proven. 112 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-27 11:45:17,409 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1799974421] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:45:17,409 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:45:17,409 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [37, 36, 36] total 43 [2022-04-27 11:45:17,409 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1226301646] [2022-04-27 11:45:17,409 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:45:17,409 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 55 [2022-04-27 11:45:17,409 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:45:17,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:45:17,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:45:17,444 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 43 states [2022-04-27 11:45:17,444 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:45:17,444 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2022-04-27 11:45:17,444 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=1713, Unknown=0, NotChecked=0, Total=1806 [2022-04-27 11:45:17,444 INFO L87 Difference]: Start difference. First operand 824 states and 930 transitions. Second operand has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:45:32,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:32,082 INFO L93 Difference]: Finished difference Result 940 states and 1061 transitions. [2022-04-27 11:45:32,082 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-04-27 11:45:32,083 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 55 [2022-04-27 11:45:32,083 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:45:32,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:45:32,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 222 transitions. [2022-04-27 11:45:32,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:45:32,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 222 transitions. [2022-04-27 11:45:32,086 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 222 transitions. [2022-04-27 11:45:32,236 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 222 edges. 222 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:45:32,279 INFO L225 Difference]: With dead ends: 940 [2022-04-27 11:45:32,279 INFO L226 Difference]: Without dead ends: 934 [2022-04-27 11:45:32,283 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 104 SyntacticMatches, 5 SemanticMatches, 76 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 812 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=265, Invalid=5741, Unknown=0, NotChecked=0, Total=6006 [2022-04-27 11:45:32,283 INFO L413 NwaCegarLoop]: 121 mSDtfsCounter, 264 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 6596 mSolverCounterSat, 52 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 275 SdHoareTripleChecker+Valid, 303 SdHoareTripleChecker+Invalid, 6648 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 52 IncrementalHoareTripleChecker+Valid, 6596 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.7s IncrementalHoareTripleChecker+Time [2022-04-27 11:45:32,283 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [275 Valid, 303 Invalid, 6648 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [52 Valid, 6596 Invalid, 0 Unknown, 0 Unchecked, 3.7s Time] [2022-04-27 11:45:32,284 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 934 states. [2022-04-27 11:45:39,338 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 934 to 840. [2022-04-27 11:45:39,339 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:45:39,340 INFO L82 GeneralOperation]: Start isEquivalent. First operand 934 states. Second operand has 840 states, 750 states have (on average 1.144) internal successors, (858), 804 states have internal predecessors, (858), 32 states have call successors, (32), 5 states have call predecessors, (32), 57 states have return successors, (59), 30 states have call predecessors, (59), 30 states have call successors, (59) [2022-04-27 11:45:39,340 INFO L74 IsIncluded]: Start isIncluded. First operand 934 states. Second operand has 840 states, 750 states have (on average 1.144) internal successors, (858), 804 states have internal predecessors, (858), 32 states have call successors, (32), 5 states have call predecessors, (32), 57 states have return successors, (59), 30 states have call predecessors, (59), 30 states have call successors, (59) [2022-04-27 11:45:39,340 INFO L87 Difference]: Start difference. First operand 934 states. Second operand has 840 states, 750 states have (on average 1.144) internal successors, (858), 804 states have internal predecessors, (858), 32 states have call successors, (32), 5 states have call predecessors, (32), 57 states have return successors, (59), 30 states have call predecessors, (59), 30 states have call successors, (59) [2022-04-27 11:45:39,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:39,369 INFO L93 Difference]: Finished difference Result 934 states and 1055 transitions. [2022-04-27 11:45:39,369 INFO L276 IsEmpty]: Start isEmpty. Operand 934 states and 1055 transitions. [2022-04-27 11:45:39,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:45:39,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:45:39,375 INFO L74 IsIncluded]: Start isIncluded. First operand has 840 states, 750 states have (on average 1.144) internal successors, (858), 804 states have internal predecessors, (858), 32 states have call successors, (32), 5 states have call predecessors, (32), 57 states have return successors, (59), 30 states have call predecessors, (59), 30 states have call successors, (59) Second operand 934 states. [2022-04-27 11:45:39,375 INFO L87 Difference]: Start difference. First operand has 840 states, 750 states have (on average 1.144) internal successors, (858), 804 states have internal predecessors, (858), 32 states have call successors, (32), 5 states have call predecessors, (32), 57 states have return successors, (59), 30 states have call predecessors, (59), 30 states have call successors, (59) Second operand 934 states. [2022-04-27 11:45:39,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:39,404 INFO L93 Difference]: Finished difference Result 934 states and 1055 transitions. [2022-04-27 11:45:39,404 INFO L276 IsEmpty]: Start isEmpty. Operand 934 states and 1055 transitions. [2022-04-27 11:45:39,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:45:39,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:45:39,409 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:45:39,409 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:45:39,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 840 states, 750 states have (on average 1.144) internal successors, (858), 804 states have internal predecessors, (858), 32 states have call successors, (32), 5 states have call predecessors, (32), 57 states have return successors, (59), 30 states have call predecessors, (59), 30 states have call successors, (59) [2022-04-27 11:45:39,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 840 states to 840 states and 949 transitions. [2022-04-27 11:45:39,442 INFO L78 Accepts]: Start accepts. Automaton has 840 states and 949 transitions. Word has length 55 [2022-04-27 11:45:39,442 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:45:39,442 INFO L495 AbstractCegarLoop]: Abstraction has 840 states and 949 transitions. [2022-04-27 11:45:39,442 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:45:39,442 INFO L276 IsEmpty]: Start isEmpty. Operand 840 states and 949 transitions. [2022-04-27 11:45:39,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 11:45:39,448 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:45:39,448 INFO L195 NwaCegarLoop]: trace histogram [8, 8, 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-27 11:45:39,466 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (71)] Forceful destruction successful, exit code 0 [2022-04-27 11:45:39,662 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable79,71 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:45:39,662 INFO L420 AbstractCegarLoop]: === Iteration 81 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:45:39,662 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:45:39,662 INFO L85 PathProgramCache]: Analyzing trace with hash -2028236118, now seen corresponding path program 71 times [2022-04-27 11:45:39,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:45:39,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [550942972] [2022-04-27 11:45:39,663 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:45:39,663 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:45:39,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:39,736 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:45:39,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:39,738 INFO L290 TraceCheckUtils]: 0: Hoare triple {156111#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {156060#true} is VALID [2022-04-27 11:45:39,738 INFO L290 TraceCheckUtils]: 1: Hoare triple {156060#true} assume true; {156060#true} is VALID [2022-04-27 11:45:39,738 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {156060#true} {156060#true} #117#return; {156060#true} is VALID [2022-04-27 11:45:39,738 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:45:39,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:39,889 INFO L290 TraceCheckUtils]: 0: Hoare triple {156060#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:39,889 INFO L290 TraceCheckUtils]: 1: Hoare triple {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:39,890 INFO L290 TraceCheckUtils]: 2: Hoare triple {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:39,890 INFO L290 TraceCheckUtils]: 3: Hoare triple {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:39,890 INFO L290 TraceCheckUtils]: 4: Hoare triple {156112#(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; {156113#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:45:39,891 INFO L290 TraceCheckUtils]: 5: Hoare triple {156113#(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; {156114#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:45:39,891 INFO L290 TraceCheckUtils]: 6: Hoare triple {156114#(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; {156115#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:45:39,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {156115#(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; {156116#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:45:39,892 INFO L290 TraceCheckUtils]: 8: Hoare triple {156116#(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; {156117#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:45:39,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {156117#(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; {156118#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:45:39,892 INFO L290 TraceCheckUtils]: 10: Hoare triple {156118#(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; {156119#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:45:39,893 INFO L290 TraceCheckUtils]: 11: Hoare triple {156119#(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; {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:45:39,893 INFO L290 TraceCheckUtils]: 12: Hoare triple {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !(~l~0 < ~m); {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:45:39,893 INFO L290 TraceCheckUtils]: 13: Hoare triple {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} ~x~0 := 0;~y~0 := 0; {156121#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 16) (<= 16 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:45:39,894 INFO L290 TraceCheckUtils]: 14: Hoare triple {156121#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 16) (<= 16 (+ 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; {156122#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 16) (<= 16 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:45:39,894 INFO L290 TraceCheckUtils]: 15: Hoare triple {156122#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 16) (<= 16 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:45:39,894 INFO L290 TraceCheckUtils]: 16: Hoare triple {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} assume !(~x~0 < ~i~0); {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:45:39,895 INFO L290 TraceCheckUtils]: 17: Hoare triple {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} #res := ~y~0; {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:45:39,895 INFO L290 TraceCheckUtils]: 18: Hoare triple {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} assume true; {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:45:39,895 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} {156060#true} #111#return; {156085#(and (<= |main_#t~ret8| 16) (<= 16 |main_#t~ret8|))} is VALID [2022-04-27 11:45:39,895 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-27 11:45:39,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:40,111 INFO L290 TraceCheckUtils]: 0: Hoare triple {156060#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:40,111 INFO L290 TraceCheckUtils]: 1: Hoare triple {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:40,112 INFO L290 TraceCheckUtils]: 2: Hoare triple {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:40,112 INFO L290 TraceCheckUtils]: 3: Hoare triple {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:40,112 INFO L290 TraceCheckUtils]: 4: Hoare triple {156125#(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; {156126#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:45:40,113 INFO L290 TraceCheckUtils]: 5: Hoare triple {156126#(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; {156127#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:45:40,113 INFO L290 TraceCheckUtils]: 6: Hoare triple {156127#(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; {156128#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:45:40,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {156128#(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; {156129#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:45:40,114 INFO L290 TraceCheckUtils]: 8: Hoare triple {156129#(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; {156130#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:45:40,114 INFO L290 TraceCheckUtils]: 9: Hoare triple {156130#(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; {156131#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:45:40,115 INFO L290 TraceCheckUtils]: 10: Hoare triple {156131#(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; {156132#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:45:40,115 INFO L290 TraceCheckUtils]: 11: Hoare triple {156132#(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; {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:45:40,115 INFO L290 TraceCheckUtils]: 12: Hoare triple {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !(~l~1 < ~m); {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:45:40,116 INFO L290 TraceCheckUtils]: 13: Hoare triple {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} ~x~1 := 0;~y~1 := 0; {156134#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 16) (<= 16 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:45:40,116 INFO L290 TraceCheckUtils]: 14: Hoare triple {156134#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 16) (<= 16 (+ (* 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; {156135#(and (<= 16 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 16))} is VALID [2022-04-27 11:45:40,116 INFO L290 TraceCheckUtils]: 15: Hoare triple {156135#(and (<= 16 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 16))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:45:40,117 INFO L290 TraceCheckUtils]: 16: Hoare triple {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} assume !(~x~1 < ~i~1); {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:45:40,117 INFO L290 TraceCheckUtils]: 17: Hoare triple {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} #res := ~y~1; {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:45:40,117 INFO L290 TraceCheckUtils]: 18: Hoare triple {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} assume true; {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:45:40,118 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} {156086#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} #113#return; {156107#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:45:40,118 INFO L272 TraceCheckUtils]: 0: Hoare triple {156060#true} call ULTIMATE.init(); {156111#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:45:40,118 INFO L290 TraceCheckUtils]: 1: Hoare triple {156111#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {156060#true} is VALID [2022-04-27 11:45:40,118 INFO L290 TraceCheckUtils]: 2: Hoare triple {156060#true} assume true; {156060#true} is VALID [2022-04-27 11:45:40,118 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {156060#true} {156060#true} #117#return; {156060#true} is VALID [2022-04-27 11:45:40,118 INFO L272 TraceCheckUtils]: 4: Hoare triple {156060#true} call #t~ret10 := main(); {156060#true} is VALID [2022-04-27 11:45:40,118 INFO L290 TraceCheckUtils]: 5: Hoare triple {156060#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {156060#true} is VALID [2022-04-27 11:45:40,118 INFO L290 TraceCheckUtils]: 6: Hoare triple {156060#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {156060#true} is VALID [2022-04-27 11:45:40,118 INFO L272 TraceCheckUtils]: 7: Hoare triple {156060#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {156060#true} is VALID [2022-04-27 11:45:40,119 INFO L290 TraceCheckUtils]: 8: Hoare triple {156060#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:40,119 INFO L290 TraceCheckUtils]: 9: Hoare triple {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:40,119 INFO L290 TraceCheckUtils]: 10: Hoare triple {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:40,119 INFO L290 TraceCheckUtils]: 11: Hoare triple {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:40,120 INFO L290 TraceCheckUtils]: 12: Hoare triple {156112#(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; {156113#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:45:40,120 INFO L290 TraceCheckUtils]: 13: Hoare triple {156113#(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; {156114#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:45:40,121 INFO L290 TraceCheckUtils]: 14: Hoare triple {156114#(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; {156115#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:45:40,121 INFO L290 TraceCheckUtils]: 15: Hoare triple {156115#(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; {156116#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:45:40,121 INFO L290 TraceCheckUtils]: 16: Hoare triple {156116#(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; {156117#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:45:40,122 INFO L290 TraceCheckUtils]: 17: Hoare triple {156117#(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; {156118#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:45:40,122 INFO L290 TraceCheckUtils]: 18: Hoare triple {156118#(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; {156119#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:45:40,122 INFO L290 TraceCheckUtils]: 19: Hoare triple {156119#(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; {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:45:40,123 INFO L290 TraceCheckUtils]: 20: Hoare triple {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !(~l~0 < ~m); {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:45:40,123 INFO L290 TraceCheckUtils]: 21: Hoare triple {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} ~x~0 := 0;~y~0 := 0; {156121#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 16) (<= 16 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:45:40,123 INFO L290 TraceCheckUtils]: 22: Hoare triple {156121#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 16) (<= 16 (+ 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; {156122#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 16) (<= 16 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:45:40,124 INFO L290 TraceCheckUtils]: 23: Hoare triple {156122#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 16) (<= 16 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:45:40,124 INFO L290 TraceCheckUtils]: 24: Hoare triple {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} assume !(~x~0 < ~i~0); {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:45:40,124 INFO L290 TraceCheckUtils]: 25: Hoare triple {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} #res := ~y~0; {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:45:40,124 INFO L290 TraceCheckUtils]: 26: Hoare triple {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} assume true; {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:45:40,125 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} {156060#true} #111#return; {156085#(and (<= |main_#t~ret8| 16) (<= 16 |main_#t~ret8|))} is VALID [2022-04-27 11:45:40,125 INFO L290 TraceCheckUtils]: 28: Hoare triple {156085#(and (<= |main_#t~ret8| 16) (<= 16 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {156086#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} is VALID [2022-04-27 11:45:40,125 INFO L272 TraceCheckUtils]: 29: Hoare triple {156086#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {156060#true} is VALID [2022-04-27 11:45:40,126 INFO L290 TraceCheckUtils]: 30: Hoare triple {156060#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:40,126 INFO L290 TraceCheckUtils]: 31: Hoare triple {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:40,126 INFO L290 TraceCheckUtils]: 32: Hoare triple {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:40,126 INFO L290 TraceCheckUtils]: 33: Hoare triple {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:40,127 INFO L290 TraceCheckUtils]: 34: Hoare triple {156125#(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; {156126#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:45:40,127 INFO L290 TraceCheckUtils]: 35: Hoare triple {156126#(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; {156127#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:45:40,127 INFO L290 TraceCheckUtils]: 36: Hoare triple {156127#(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; {156128#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:45:40,128 INFO L290 TraceCheckUtils]: 37: Hoare triple {156128#(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; {156129#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:45:40,128 INFO L290 TraceCheckUtils]: 38: Hoare triple {156129#(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; {156130#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:45:40,129 INFO L290 TraceCheckUtils]: 39: Hoare triple {156130#(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; {156131#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:45:40,129 INFO L290 TraceCheckUtils]: 40: Hoare triple {156131#(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; {156132#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:45:40,129 INFO L290 TraceCheckUtils]: 41: Hoare triple {156132#(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; {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:45:40,130 INFO L290 TraceCheckUtils]: 42: Hoare triple {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !(~l~1 < ~m); {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:45:40,130 INFO L290 TraceCheckUtils]: 43: Hoare triple {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} ~x~1 := 0;~y~1 := 0; {156134#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 16) (<= 16 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:45:40,130 INFO L290 TraceCheckUtils]: 44: Hoare triple {156134#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 16) (<= 16 (+ (* 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; {156135#(and (<= 16 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 16))} is VALID [2022-04-27 11:45:40,131 INFO L290 TraceCheckUtils]: 45: Hoare triple {156135#(and (<= 16 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 16))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:45:40,131 INFO L290 TraceCheckUtils]: 46: Hoare triple {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} assume !(~x~1 < ~i~1); {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:45:40,131 INFO L290 TraceCheckUtils]: 47: Hoare triple {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} #res := ~y~1; {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:45:40,131 INFO L290 TraceCheckUtils]: 48: Hoare triple {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} assume true; {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:45:40,132 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} {156086#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} #113#return; {156107#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:45:40,132 INFO L290 TraceCheckUtils]: 50: Hoare triple {156107#(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; {156108#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:45:40,133 INFO L272 TraceCheckUtils]: 51: Hoare triple {156108#(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)); {156109#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:45:40,133 INFO L290 TraceCheckUtils]: 52: Hoare triple {156109#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {156110#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:45:40,133 INFO L290 TraceCheckUtils]: 53: Hoare triple {156110#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {156061#false} is VALID [2022-04-27 11:45:40,133 INFO L290 TraceCheckUtils]: 54: Hoare triple {156061#false} assume !false; {156061#false} is VALID [2022-04-27 11:45:40,133 INFO L134 CoverageAnalysis]: Checked inductivity of 84 backedges. 0 proven. 78 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 11:45:40,134 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:45:40,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [550942972] [2022-04-27 11:45:40,134 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [550942972] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:45:40,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [91161565] [2022-04-27 11:45:40,134 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 11:45:40,134 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:45:40,134 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:45:40,135 INFO L229 MonitoredProcess]: Starting monitored process 72 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:45:40,136 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (72)] Waiting until timeout for monitored process [2022-04-27 11:45:40,253 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2022-04-27 11:45:40,253 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:45:40,259 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-27 11:45:40,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:45:40,266 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:45:40,719 INFO L272 TraceCheckUtils]: 0: Hoare triple {156060#true} call ULTIMATE.init(); {156060#true} is VALID [2022-04-27 11:45:40,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {156060#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {156060#true} is VALID [2022-04-27 11:45:40,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {156060#true} assume true; {156060#true} is VALID [2022-04-27 11:45:40,720 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {156060#true} {156060#true} #117#return; {156060#true} is VALID [2022-04-27 11:45:40,720 INFO L272 TraceCheckUtils]: 4: Hoare triple {156060#true} call #t~ret10 := main(); {156060#true} is VALID [2022-04-27 11:45:40,720 INFO L290 TraceCheckUtils]: 5: Hoare triple {156060#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {156060#true} is VALID [2022-04-27 11:45:40,720 INFO L290 TraceCheckUtils]: 6: Hoare triple {156060#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {156060#true} is VALID [2022-04-27 11:45:40,720 INFO L272 TraceCheckUtils]: 7: Hoare triple {156060#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {156060#true} is VALID [2022-04-27 11:45:40,720 INFO L290 TraceCheckUtils]: 8: Hoare triple {156060#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:40,721 INFO L290 TraceCheckUtils]: 9: Hoare triple {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:40,721 INFO L290 TraceCheckUtils]: 10: Hoare triple {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:40,721 INFO L290 TraceCheckUtils]: 11: Hoare triple {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:40,721 INFO L290 TraceCheckUtils]: 12: Hoare triple {156112#(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; {156113#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:45:40,722 INFO L290 TraceCheckUtils]: 13: Hoare triple {156113#(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; {156114#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:45:40,722 INFO L290 TraceCheckUtils]: 14: Hoare triple {156114#(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; {156115#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:45:40,722 INFO L290 TraceCheckUtils]: 15: Hoare triple {156115#(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; {156116#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:45:40,723 INFO L290 TraceCheckUtils]: 16: Hoare triple {156116#(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; {156117#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:45:40,723 INFO L290 TraceCheckUtils]: 17: Hoare triple {156117#(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; {156118#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:45:40,723 INFO L290 TraceCheckUtils]: 18: Hoare triple {156118#(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; {156119#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:45:40,724 INFO L290 TraceCheckUtils]: 19: Hoare triple {156119#(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; {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:45:40,724 INFO L290 TraceCheckUtils]: 20: Hoare triple {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !(~l~0 < ~m); {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:45:40,724 INFO L290 TraceCheckUtils]: 21: Hoare triple {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} ~x~0 := 0;~y~0 := 0; {156204#(and (= correct_version_~y~0 0) (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:45:40,725 INFO L290 TraceCheckUtils]: 22: Hoare triple {156204#(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; {156208#(and (= correct_version_~j~0 correct_version_~y~0) (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:45:40,725 INFO L290 TraceCheckUtils]: 23: Hoare triple {156208#(and (= correct_version_~j~0 correct_version_~y~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; {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:45:40,725 INFO L290 TraceCheckUtils]: 24: Hoare triple {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} assume !(~x~0 < ~i~0); {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:45:40,725 INFO L290 TraceCheckUtils]: 25: Hoare triple {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} #res := ~y~0; {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:45:40,726 INFO L290 TraceCheckUtils]: 26: Hoare triple {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} assume true; {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:45:40,726 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} {156060#true} #111#return; {156085#(and (<= |main_#t~ret8| 16) (<= 16 |main_#t~ret8|))} is VALID [2022-04-27 11:45:40,726 INFO L290 TraceCheckUtils]: 28: Hoare triple {156085#(and (<= |main_#t~ret8| 16) (<= 16 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {156086#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} is VALID [2022-04-27 11:45:40,726 INFO L272 TraceCheckUtils]: 29: Hoare triple {156086#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {156060#true} is VALID [2022-04-27 11:45:40,727 INFO L290 TraceCheckUtils]: 30: Hoare triple {156060#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:40,727 INFO L290 TraceCheckUtils]: 31: Hoare triple {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:40,727 INFO L290 TraceCheckUtils]: 32: Hoare triple {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:40,727 INFO L290 TraceCheckUtils]: 33: Hoare triple {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:40,728 INFO L290 TraceCheckUtils]: 34: Hoare triple {156125#(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; {156126#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:45:40,728 INFO L290 TraceCheckUtils]: 35: Hoare triple {156126#(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; {156127#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:45:40,728 INFO L290 TraceCheckUtils]: 36: Hoare triple {156127#(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; {156128#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:45:40,729 INFO L290 TraceCheckUtils]: 37: Hoare triple {156128#(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; {156129#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:45:40,729 INFO L290 TraceCheckUtils]: 38: Hoare triple {156129#(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; {156130#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:45:40,729 INFO L290 TraceCheckUtils]: 39: Hoare triple {156130#(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; {156131#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:45:40,730 INFO L290 TraceCheckUtils]: 40: Hoare triple {156131#(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; {156132#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:45:40,730 INFO L290 TraceCheckUtils]: 41: Hoare triple {156132#(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; {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:45:40,730 INFO L290 TraceCheckUtils]: 42: Hoare triple {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !(~l~1 < ~m); {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:45:40,730 INFO L290 TraceCheckUtils]: 43: Hoare triple {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} ~x~1 := 0;~y~1 := 0; {156272#(and (= student_version_~y~1 0) (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:45:40,731 INFO L290 TraceCheckUtils]: 44: Hoare triple {156272#(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; {156276#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} is VALID [2022-04-27 11:45:40,731 INFO L290 TraceCheckUtils]: 45: Hoare triple {156276#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8) (= (+ 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; {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:45:40,731 INFO L290 TraceCheckUtils]: 46: Hoare triple {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} assume !(~x~1 < ~i~1); {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:45:40,732 INFO L290 TraceCheckUtils]: 47: Hoare triple {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} #res := ~y~1; {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:45:40,732 INFO L290 TraceCheckUtils]: 48: Hoare triple {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} assume true; {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:45:40,732 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} {156086#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} #113#return; {156292#(and (<= 16 |main_#t~ret9|) (<= |main_#t~ret9| 16) (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} is VALID [2022-04-27 11:45:40,733 INFO L290 TraceCheckUtils]: 50: Hoare triple {156292#(and (<= 16 |main_#t~ret9|) (<= |main_#t~ret9| 16) (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {156296#(and (<= main_~n_stones2~0 16) (<= 16 main_~n_stones1~0) (<= 16 main_~n_stones2~0) (<= main_~n_stones1~0 16))} is VALID [2022-04-27 11:45:40,733 INFO L272 TraceCheckUtils]: 51: Hoare triple {156296#(and (<= main_~n_stones2~0 16) (<= 16 main_~n_stones1~0) (<= 16 main_~n_stones2~0) (<= main_~n_stones1~0 16))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {156300#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:45:40,733 INFO L290 TraceCheckUtils]: 52: Hoare triple {156300#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {156304#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:45:40,733 INFO L290 TraceCheckUtils]: 53: Hoare triple {156304#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {156061#false} is VALID [2022-04-27 11:45:40,733 INFO L290 TraceCheckUtils]: 54: Hoare triple {156061#false} assume !false; {156061#false} is VALID [2022-04-27 11:45:40,734 INFO L134 CoverageAnalysis]: Checked inductivity of 84 backedges. 0 proven. 78 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 11:45:40,734 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:45:41,063 INFO L290 TraceCheckUtils]: 54: Hoare triple {156061#false} assume !false; {156061#false} is VALID [2022-04-27 11:45:41,064 INFO L290 TraceCheckUtils]: 53: Hoare triple {156304#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {156061#false} is VALID [2022-04-27 11:45:41,064 INFO L290 TraceCheckUtils]: 52: Hoare triple {156300#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {156304#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:45:41,064 INFO L272 TraceCheckUtils]: 51: Hoare triple {156108#(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)); {156300#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:45:41,065 INFO L290 TraceCheckUtils]: 50: Hoare triple {156107#(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; {156108#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:45:41,065 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} {156086#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} #113#return; {156107#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:45:41,065 INFO L290 TraceCheckUtils]: 48: Hoare triple {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} assume true; {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:45:41,066 INFO L290 TraceCheckUtils]: 47: Hoare triple {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} #res := ~y~1; {156137#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:45:41,066 INFO L290 TraceCheckUtils]: 46: Hoare triple {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} assume !(~x~1 < ~i~1); {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:45:41,066 INFO L290 TraceCheckUtils]: 45: Hoare triple {156135#(and (<= 16 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 16))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {156136#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:45:41,067 INFO L290 TraceCheckUtils]: 44: Hoare triple {156134#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 16) (<= 16 (+ (* 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; {156135#(and (<= 16 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 16))} is VALID [2022-04-27 11:45:41,067 INFO L290 TraceCheckUtils]: 43: Hoare triple {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} ~x~1 := 0;~y~1 := 0; {156134#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 16) (<= 16 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:45:41,067 INFO L290 TraceCheckUtils]: 42: Hoare triple {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !(~l~1 < ~m); {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:45:41,067 INFO L290 TraceCheckUtils]: 41: Hoare triple {156132#(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; {156133#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:45:41,068 INFO L290 TraceCheckUtils]: 40: Hoare triple {156131#(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; {156132#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:45:41,068 INFO L290 TraceCheckUtils]: 39: Hoare triple {156130#(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; {156131#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:45:41,068 INFO L290 TraceCheckUtils]: 38: Hoare triple {156129#(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; {156130#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:45:41,069 INFO L290 TraceCheckUtils]: 37: Hoare triple {156128#(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; {156129#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:45:41,069 INFO L290 TraceCheckUtils]: 36: Hoare triple {156127#(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; {156128#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:45:41,069 INFO L290 TraceCheckUtils]: 35: Hoare triple {156126#(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; {156127#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:45:41,070 INFO L290 TraceCheckUtils]: 34: Hoare triple {156125#(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; {156126#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:45:41,070 INFO L290 TraceCheckUtils]: 33: Hoare triple {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:41,070 INFO L290 TraceCheckUtils]: 32: Hoare triple {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:41,070 INFO L290 TraceCheckUtils]: 31: Hoare triple {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:41,071 INFO L290 TraceCheckUtils]: 30: Hoare triple {156060#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {156125#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:45:41,071 INFO L272 TraceCheckUtils]: 29: Hoare triple {156086#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {156060#true} is VALID [2022-04-27 11:45:41,071 INFO L290 TraceCheckUtils]: 28: Hoare triple {156085#(and (<= |main_#t~ret8| 16) (<= 16 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {156086#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} is VALID [2022-04-27 11:45:41,071 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} {156060#true} #111#return; {156085#(and (<= |main_#t~ret8| 16) (<= 16 |main_#t~ret8|))} is VALID [2022-04-27 11:45:41,072 INFO L290 TraceCheckUtils]: 26: Hoare triple {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} assume true; {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:45:41,072 INFO L290 TraceCheckUtils]: 25: Hoare triple {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} #res := ~y~0; {156124#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:45:41,072 INFO L290 TraceCheckUtils]: 24: Hoare triple {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} assume !(~x~0 < ~i~0); {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:45:41,073 INFO L290 TraceCheckUtils]: 23: Hoare triple {156122#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 16) (<= 16 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {156123#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:45:41,073 INFO L290 TraceCheckUtils]: 22: Hoare triple {156121#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 16) (<= 16 (+ 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; {156122#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 16) (<= 16 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:45:41,073 INFO L290 TraceCheckUtils]: 21: Hoare triple {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} ~x~0 := 0;~y~0 := 0; {156121#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 16) (<= 16 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:45:41,073 INFO L290 TraceCheckUtils]: 20: Hoare triple {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !(~l~0 < ~m); {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:45:41,074 INFO L290 TraceCheckUtils]: 19: Hoare triple {156119#(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; {156120#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:45:41,074 INFO L290 TraceCheckUtils]: 18: Hoare triple {156118#(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; {156119#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:45:41,074 INFO L290 TraceCheckUtils]: 17: Hoare triple {156117#(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; {156118#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:45:41,075 INFO L290 TraceCheckUtils]: 16: Hoare triple {156116#(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; {156117#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:45:41,075 INFO L290 TraceCheckUtils]: 15: Hoare triple {156115#(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; {156116#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:45:41,075 INFO L290 TraceCheckUtils]: 14: Hoare triple {156114#(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; {156115#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:45:41,076 INFO L290 TraceCheckUtils]: 13: Hoare triple {156113#(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; {156114#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:45:41,076 INFO L290 TraceCheckUtils]: 12: Hoare triple {156112#(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; {156113#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:45:41,076 INFO L290 TraceCheckUtils]: 11: Hoare triple {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:41,077 INFO L290 TraceCheckUtils]: 10: Hoare triple {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:41,077 INFO L290 TraceCheckUtils]: 9: Hoare triple {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:41,077 INFO L290 TraceCheckUtils]: 8: Hoare triple {156060#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {156112#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:45:41,077 INFO L272 TraceCheckUtils]: 7: Hoare triple {156060#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {156060#true} is VALID [2022-04-27 11:45:41,077 INFO L290 TraceCheckUtils]: 6: Hoare triple {156060#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {156060#true} is VALID [2022-04-27 11:45:41,077 INFO L290 TraceCheckUtils]: 5: Hoare triple {156060#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {156060#true} is VALID [2022-04-27 11:45:41,077 INFO L272 TraceCheckUtils]: 4: Hoare triple {156060#true} call #t~ret10 := main(); {156060#true} is VALID [2022-04-27 11:45:41,077 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {156060#true} {156060#true} #117#return; {156060#true} is VALID [2022-04-27 11:45:41,078 INFO L290 TraceCheckUtils]: 2: Hoare triple {156060#true} assume true; {156060#true} is VALID [2022-04-27 11:45:41,078 INFO L290 TraceCheckUtils]: 1: Hoare triple {156060#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {156060#true} is VALID [2022-04-27 11:45:41,078 INFO L272 TraceCheckUtils]: 0: Hoare triple {156060#true} call ULTIMATE.init(); {156060#true} is VALID [2022-04-27 11:45:41,078 INFO L134 CoverageAnalysis]: Checked inductivity of 84 backedges. 0 proven. 78 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 11:45:41,078 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [91161565] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:45:41,078 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:45:41,078 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [35, 34, 34] total 43 [2022-04-27 11:45:41,078 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [386747757] [2022-04-27 11:45:41,078 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:45:41,079 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 55 [2022-04-27 11:45:41,079 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:45:41,079 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:45:41,105 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:45:41,105 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 43 states [2022-04-27 11:45:41,105 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:45:41,105 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2022-04-27 11:45:41,106 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=1709, Unknown=0, NotChecked=0, Total=1806 [2022-04-27 11:45:41,106 INFO L87 Difference]: Start difference. First operand 840 states and 949 transitions. Second operand has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:45:54,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:45:54,666 INFO L93 Difference]: Finished difference Result 846 states and 954 transitions. [2022-04-27 11:45:54,666 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2022-04-27 11:45:54,666 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 55 [2022-04-27 11:45:54,666 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:45:54,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:45:54,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 188 transitions. [2022-04-27 11:45:54,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:45:54,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 188 transitions. [2022-04-27 11:45:54,668 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 188 transitions. [2022-04-27 11:45:54,765 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 188 edges. 188 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:45:54,798 INFO L225 Difference]: With dead ends: 846 [2022-04-27 11:45:54,798 INFO L226 Difference]: Without dead ends: 824 [2022-04-27 11:45:54,801 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 181 GetRequests, 98 SyntacticMatches, 9 SemanticMatches, 74 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 831 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=267, Invalid=5433, Unknown=0, NotChecked=0, Total=5700 [2022-04-27 11:45:54,802 INFO L413 NwaCegarLoop]: 101 mSDtfsCounter, 197 mSDsluCounter, 177 mSDsCounter, 0 mSdLazyCounter, 5376 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 201 SdHoareTripleChecker+Valid, 278 SdHoareTripleChecker+Invalid, 5415 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 5376 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.0s IncrementalHoareTripleChecker+Time [2022-04-27 11:45:54,802 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [201 Valid, 278 Invalid, 5415 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 5376 Invalid, 0 Unknown, 0 Unchecked, 3.0s Time] [2022-04-27 11:45:54,802 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 824 states. [2022-04-27 11:46:01,435 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 824 to 824. [2022-04-27 11:46:01,435 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:46:01,436 INFO L82 GeneralOperation]: Start isEquivalent. First operand 824 states. Second operand has 824 states, 737 states have (on average 1.1438263229308006) internal successors, (843), 789 states have internal predecessors, (843), 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-27 11:46:01,436 INFO L74 IsIncluded]: Start isIncluded. First operand 824 states. Second operand has 824 states, 737 states have (on average 1.1438263229308006) internal successors, (843), 789 states have internal predecessors, (843), 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-27 11:46:01,436 INFO L87 Difference]: Start difference. First operand 824 states. Second operand has 824 states, 737 states have (on average 1.1438263229308006) internal successors, (843), 789 states have internal predecessors, (843), 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-27 11:46:01,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:46:01,460 INFO L93 Difference]: Finished difference Result 824 states and 931 transitions. [2022-04-27 11:46:01,460 INFO L276 IsEmpty]: Start isEmpty. Operand 824 states and 931 transitions. [2022-04-27 11:46:01,463 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:46:01,463 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:46:01,464 INFO L74 IsIncluded]: Start isIncluded. First operand has 824 states, 737 states have (on average 1.1438263229308006) internal successors, (843), 789 states have internal predecessors, (843), 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 824 states. [2022-04-27 11:46:01,465 INFO L87 Difference]: Start difference. First operand has 824 states, 737 states have (on average 1.1438263229308006) internal successors, (843), 789 states have internal predecessors, (843), 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 824 states. [2022-04-27 11:46:01,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:46:01,488 INFO L93 Difference]: Finished difference Result 824 states and 931 transitions. [2022-04-27 11:46:01,488 INFO L276 IsEmpty]: Start isEmpty. Operand 824 states and 931 transitions. [2022-04-27 11:46:01,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:46:01,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:46:01,491 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:46:01,491 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:46:01,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 824 states, 737 states have (on average 1.1438263229308006) internal successors, (843), 789 states have internal predecessors, (843), 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-27 11:46:01,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 824 states to 824 states and 931 transitions. [2022-04-27 11:46:01,522 INFO L78 Accepts]: Start accepts. Automaton has 824 states and 931 transitions. Word has length 55 [2022-04-27 11:46:01,522 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:46:01,522 INFO L495 AbstractCegarLoop]: Abstraction has 824 states and 931 transitions. [2022-04-27 11:46:01,522 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:46:01,522 INFO L276 IsEmpty]: Start isEmpty. Operand 824 states and 931 transitions. [2022-04-27 11:46:01,527 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 11:46:01,527 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:46:01,527 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 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-27 11:46:01,543 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (72)] Forceful destruction successful, exit code 0 [2022-04-27 11:46:01,742 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable80,72 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:46:01,742 INFO L420 AbstractCegarLoop]: === Iteration 82 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:46:01,742 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:46:01,742 INFO L85 PathProgramCache]: Analyzing trace with hash -1858987446, now seen corresponding path program 72 times [2022-04-27 11:46:01,742 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:46:01,743 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1122352575] [2022-04-27 11:46:01,743 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:46:01,743 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:46:01,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:01,835 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:46:01,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:01,837 INFO L290 TraceCheckUtils]: 0: Hoare triple {160764#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {160713#true} is VALID [2022-04-27 11:46:01,837 INFO L290 TraceCheckUtils]: 1: Hoare triple {160713#true} assume true; {160713#true} is VALID [2022-04-27 11:46:01,837 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {160713#true} {160713#true} #117#return; {160713#true} is VALID [2022-04-27 11:46:01,837 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:46:01,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:02,027 INFO L290 TraceCheckUtils]: 0: Hoare triple {160713#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,027 INFO L290 TraceCheckUtils]: 1: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,028 INFO L290 TraceCheckUtils]: 3: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,028 INFO L290 TraceCheckUtils]: 4: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,028 INFO L290 TraceCheckUtils]: 5: Hoare triple {160765#(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; {160766#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:46:02,029 INFO L290 TraceCheckUtils]: 6: Hoare triple {160766#(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; {160767#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:46:02,029 INFO L290 TraceCheckUtils]: 7: Hoare triple {160767#(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; {160768#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:46:02,029 INFO L290 TraceCheckUtils]: 8: Hoare triple {160768#(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; {160769#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:46:02,030 INFO L290 TraceCheckUtils]: 9: Hoare triple {160769#(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; {160770#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,030 INFO L290 TraceCheckUtils]: 10: Hoare triple {160770#(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; {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,031 INFO L290 TraceCheckUtils]: 11: Hoare triple {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,031 INFO L290 TraceCheckUtils]: 12: Hoare triple {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {160772#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 18) (<= 18 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} is VALID [2022-04-27 11:46:02,031 INFO L290 TraceCheckUtils]: 13: Hoare triple {160772#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 18) (<= 18 (+ 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; {160773#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 18) (<= 18 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:46:02,032 INFO L290 TraceCheckUtils]: 14: Hoare triple {160773#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 18) (<= 18 (+ 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; {160774#(and (<= 18 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 18))} is VALID [2022-04-27 11:46:02,032 INFO L290 TraceCheckUtils]: 15: Hoare triple {160774#(and (<= 18 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 18))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:46:02,032 INFO L290 TraceCheckUtils]: 16: Hoare triple {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} assume !(~x~0 < ~i~0); {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:46:02,033 INFO L290 TraceCheckUtils]: 17: Hoare triple {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} #res := ~y~0; {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:46:02,033 INFO L290 TraceCheckUtils]: 18: Hoare triple {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} assume true; {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:46:02,033 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} {160713#true} #111#return; {160738#(and (<= |main_#t~ret8| 18) (<= 18 |main_#t~ret8|))} is VALID [2022-04-27 11:46:02,034 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-27 11:46:02,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:02,314 INFO L290 TraceCheckUtils]: 0: Hoare triple {160713#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:02,315 INFO L290 TraceCheckUtils]: 1: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:02,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:02,316 INFO L290 TraceCheckUtils]: 3: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:02,316 INFO L290 TraceCheckUtils]: 4: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:02,316 INFO L290 TraceCheckUtils]: 5: Hoare triple {160777#(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; {160778#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:46:02,317 INFO L290 TraceCheckUtils]: 6: Hoare triple {160778#(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; {160779#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:46:02,317 INFO L290 TraceCheckUtils]: 7: Hoare triple {160779#(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; {160780#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:46:02,318 INFO L290 TraceCheckUtils]: 8: Hoare triple {160780#(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; {160781#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:46:02,318 INFO L290 TraceCheckUtils]: 9: Hoare triple {160781#(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; {160782#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:46:02,319 INFO L290 TraceCheckUtils]: 10: Hoare triple {160782#(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; {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:46:02,319 INFO L290 TraceCheckUtils]: 11: Hoare triple {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:46:02,319 INFO L290 TraceCheckUtils]: 12: Hoare triple {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {160784#(and (<= 18 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 18))} is VALID [2022-04-27 11:46:02,320 INFO L290 TraceCheckUtils]: 13: Hoare triple {160784#(and (<= 18 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 18))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {160785#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 18) (<= 18 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:46:02,320 INFO L290 TraceCheckUtils]: 14: Hoare triple {160785#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 18) (<= 18 (+ (* 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; {160786#(and (<= 18 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 18))} is VALID [2022-04-27 11:46:02,321 INFO L290 TraceCheckUtils]: 15: Hoare triple {160786#(and (<= 18 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 18))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:46:02,321 INFO L290 TraceCheckUtils]: 16: Hoare triple {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} assume !(~x~1 < ~i~1); {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:46:02,322 INFO L290 TraceCheckUtils]: 17: Hoare triple {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} #res := ~y~1; {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:46:02,322 INFO L290 TraceCheckUtils]: 18: Hoare triple {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} assume true; {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:46:02,323 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} {160739#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} #113#return; {160760#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:46:02,323 INFO L272 TraceCheckUtils]: 0: Hoare triple {160713#true} call ULTIMATE.init(); {160764#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:46:02,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {160764#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {160713#true} is VALID [2022-04-27 11:46:02,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {160713#true} assume true; {160713#true} is VALID [2022-04-27 11:46:02,323 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {160713#true} {160713#true} #117#return; {160713#true} is VALID [2022-04-27 11:46:02,323 INFO L272 TraceCheckUtils]: 4: Hoare triple {160713#true} call #t~ret10 := main(); {160713#true} is VALID [2022-04-27 11:46:02,323 INFO L290 TraceCheckUtils]: 5: Hoare triple {160713#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {160713#true} is VALID [2022-04-27 11:46:02,323 INFO L290 TraceCheckUtils]: 6: Hoare triple {160713#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {160713#true} is VALID [2022-04-27 11:46:02,323 INFO L272 TraceCheckUtils]: 7: Hoare triple {160713#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {160713#true} is VALID [2022-04-27 11:46:02,324 INFO L290 TraceCheckUtils]: 8: Hoare triple {160713#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,324 INFO L290 TraceCheckUtils]: 9: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,325 INFO L290 TraceCheckUtils]: 10: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,325 INFO L290 TraceCheckUtils]: 11: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,325 INFO L290 TraceCheckUtils]: 12: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,326 INFO L290 TraceCheckUtils]: 13: Hoare triple {160765#(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; {160766#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:46:02,326 INFO L290 TraceCheckUtils]: 14: Hoare triple {160766#(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; {160767#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:46:02,327 INFO L290 TraceCheckUtils]: 15: Hoare triple {160767#(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; {160768#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:46:02,327 INFO L290 TraceCheckUtils]: 16: Hoare triple {160768#(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; {160769#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:46:02,327 INFO L290 TraceCheckUtils]: 17: Hoare triple {160769#(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; {160770#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,328 INFO L290 TraceCheckUtils]: 18: Hoare triple {160770#(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; {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,328 INFO L290 TraceCheckUtils]: 19: Hoare triple {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:46:02,329 INFO L290 TraceCheckUtils]: 20: Hoare triple {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {160772#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 18) (<= 18 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} is VALID [2022-04-27 11:46:02,329 INFO L290 TraceCheckUtils]: 21: Hoare triple {160772#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 18) (<= 18 (+ 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; {160773#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 18) (<= 18 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:46:02,330 INFO L290 TraceCheckUtils]: 22: Hoare triple {160773#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 18) (<= 18 (+ 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; {160774#(and (<= 18 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 18))} is VALID [2022-04-27 11:46:02,330 INFO L290 TraceCheckUtils]: 23: Hoare triple {160774#(and (<= 18 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 18))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:46:02,330 INFO L290 TraceCheckUtils]: 24: Hoare triple {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} assume !(~x~0 < ~i~0); {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:46:02,331 INFO L290 TraceCheckUtils]: 25: Hoare triple {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} #res := ~y~0; {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:46:02,331 INFO L290 TraceCheckUtils]: 26: Hoare triple {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} assume true; {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:46:02,332 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} {160713#true} #111#return; {160738#(and (<= |main_#t~ret8| 18) (<= 18 |main_#t~ret8|))} is VALID [2022-04-27 11:46:02,332 INFO L290 TraceCheckUtils]: 28: Hoare triple {160738#(and (<= |main_#t~ret8| 18) (<= 18 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {160739#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} is VALID [2022-04-27 11:46:02,332 INFO L272 TraceCheckUtils]: 29: Hoare triple {160739#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {160713#true} is VALID [2022-04-27 11:46:02,332 INFO L290 TraceCheckUtils]: 30: Hoare triple {160713#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:02,333 INFO L290 TraceCheckUtils]: 31: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:02,333 INFO L290 TraceCheckUtils]: 32: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:02,333 INFO L290 TraceCheckUtils]: 33: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:02,334 INFO L290 TraceCheckUtils]: 34: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:02,334 INFO L290 TraceCheckUtils]: 35: Hoare triple {160777#(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; {160778#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:46:02,335 INFO L290 TraceCheckUtils]: 36: Hoare triple {160778#(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; {160779#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:46:02,335 INFO L290 TraceCheckUtils]: 37: Hoare triple {160779#(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; {160780#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:46:02,335 INFO L290 TraceCheckUtils]: 38: Hoare triple {160780#(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; {160781#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:46:02,336 INFO L290 TraceCheckUtils]: 39: Hoare triple {160781#(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; {160782#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:46:02,336 INFO L290 TraceCheckUtils]: 40: Hoare triple {160782#(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; {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:46:02,337 INFO L290 TraceCheckUtils]: 41: Hoare triple {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:46:02,337 INFO L290 TraceCheckUtils]: 42: Hoare triple {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {160784#(and (<= 18 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 18))} is VALID [2022-04-27 11:46:02,338 INFO L290 TraceCheckUtils]: 43: Hoare triple {160784#(and (<= 18 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 18))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {160785#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 18) (<= 18 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:46:02,338 INFO L290 TraceCheckUtils]: 44: Hoare triple {160785#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 18) (<= 18 (+ (* 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; {160786#(and (<= 18 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 18))} is VALID [2022-04-27 11:46:02,338 INFO L290 TraceCheckUtils]: 45: Hoare triple {160786#(and (<= 18 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 18))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:46:02,339 INFO L290 TraceCheckUtils]: 46: Hoare triple {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} assume !(~x~1 < ~i~1); {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:46:02,339 INFO L290 TraceCheckUtils]: 47: Hoare triple {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} #res := ~y~1; {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:46:02,339 INFO L290 TraceCheckUtils]: 48: Hoare triple {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} assume true; {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:46:02,340 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} {160739#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} #113#return; {160760#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:46:02,341 INFO L290 TraceCheckUtils]: 50: Hoare triple {160760#(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; {160761#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:46:02,341 INFO L272 TraceCheckUtils]: 51: Hoare triple {160761#(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)); {160762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:46:02,342 INFO L290 TraceCheckUtils]: 52: Hoare triple {160762#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {160763#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:46:02,342 INFO L290 TraceCheckUtils]: 53: Hoare triple {160763#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {160714#false} is VALID [2022-04-27 11:46:02,342 INFO L290 TraceCheckUtils]: 54: Hoare triple {160714#false} assume !false; {160714#false} is VALID [2022-04-27 11:46:02,342 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 0 proven. 54 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 11:46:02,342 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:46:02,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1122352575] [2022-04-27 11:46:02,342 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1122352575] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:46:02,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [434941917] [2022-04-27 11:46:02,342 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-27 11:46:02,342 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:46:02,343 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:46:02,343 INFO L229 MonitoredProcess]: Starting monitored process 73 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:46:02,344 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (73)] Waiting until timeout for monitored process [2022-04-27 11:46:02,439 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-27 11:46:02,439 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:46:02,440 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 59 conjunts are in the unsatisfiable core [2022-04-27 11:46:02,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:02,449 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:46:03,092 INFO L272 TraceCheckUtils]: 0: Hoare triple {160713#true} call ULTIMATE.init(); {160713#true} is VALID [2022-04-27 11:46:03,092 INFO L290 TraceCheckUtils]: 1: Hoare triple {160713#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {160713#true} is VALID [2022-04-27 11:46:03,092 INFO L290 TraceCheckUtils]: 2: Hoare triple {160713#true} assume true; {160713#true} is VALID [2022-04-27 11:46:03,092 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {160713#true} {160713#true} #117#return; {160713#true} is VALID [2022-04-27 11:46:03,093 INFO L272 TraceCheckUtils]: 4: Hoare triple {160713#true} call #t~ret10 := main(); {160713#true} is VALID [2022-04-27 11:46:03,093 INFO L290 TraceCheckUtils]: 5: Hoare triple {160713#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {160713#true} is VALID [2022-04-27 11:46:03,093 INFO L290 TraceCheckUtils]: 6: Hoare triple {160713#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {160713#true} is VALID [2022-04-27 11:46:03,093 INFO L272 TraceCheckUtils]: 7: Hoare triple {160713#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {160713#true} is VALID [2022-04-27 11:46:03,093 INFO L290 TraceCheckUtils]: 8: Hoare triple {160713#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,093 INFO L290 TraceCheckUtils]: 9: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,093 INFO L290 TraceCheckUtils]: 10: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,094 INFO L290 TraceCheckUtils]: 11: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,094 INFO L290 TraceCheckUtils]: 12: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,094 INFO L290 TraceCheckUtils]: 13: Hoare triple {160765#(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; {160766#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:46:03,095 INFO L290 TraceCheckUtils]: 14: Hoare triple {160766#(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; {160767#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:46:03,095 INFO L290 TraceCheckUtils]: 15: Hoare triple {160767#(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; {160768#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:46:03,095 INFO L290 TraceCheckUtils]: 16: Hoare triple {160768#(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; {160769#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:46:03,096 INFO L290 TraceCheckUtils]: 17: Hoare triple {160769#(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; {160770#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,096 INFO L290 TraceCheckUtils]: 18: Hoare triple {160770#(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; {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,096 INFO L290 TraceCheckUtils]: 19: Hoare triple {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,096 INFO L290 TraceCheckUtils]: 20: Hoare triple {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {160852#(and (<= correct_version_~j~0 6) (= correct_version_~y~0 0) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,097 INFO L290 TraceCheckUtils]: 21: Hoare triple {160852#(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; {160856#(and (<= correct_version_~j~0 6) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,097 INFO L290 TraceCheckUtils]: 22: Hoare triple {160856#(and (<= correct_version_~j~0 6) (= (+ correct_version_~y~0 (* (- 1) correct_version_~j~0)) 0) (<= 6 correct_version_~j~0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {160860#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)))} is VALID [2022-04-27 11:46:03,098 INFO L290 TraceCheckUtils]: 23: Hoare triple {160860#(and (<= correct_version_~j~0 6) (<= 6 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; {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:46:03,098 INFO L290 TraceCheckUtils]: 24: Hoare triple {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} assume !(~x~0 < ~i~0); {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:46:03,098 INFO L290 TraceCheckUtils]: 25: Hoare triple {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} #res := ~y~0; {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:46:03,098 INFO L290 TraceCheckUtils]: 26: Hoare triple {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} assume true; {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:46:03,099 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} {160713#true} #111#return; {160738#(and (<= |main_#t~ret8| 18) (<= 18 |main_#t~ret8|))} is VALID [2022-04-27 11:46:03,099 INFO L290 TraceCheckUtils]: 28: Hoare triple {160738#(and (<= |main_#t~ret8| 18) (<= 18 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {160739#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} is VALID [2022-04-27 11:46:03,099 INFO L272 TraceCheckUtils]: 29: Hoare triple {160739#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {160713#true} is VALID [2022-04-27 11:46:03,099 INFO L290 TraceCheckUtils]: 30: Hoare triple {160713#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:03,100 INFO L290 TraceCheckUtils]: 31: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:03,100 INFO L290 TraceCheckUtils]: 32: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:03,100 INFO L290 TraceCheckUtils]: 33: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:03,100 INFO L290 TraceCheckUtils]: 34: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:03,101 INFO L290 TraceCheckUtils]: 35: Hoare triple {160777#(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; {160778#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:46:03,101 INFO L290 TraceCheckUtils]: 36: Hoare triple {160778#(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; {160779#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:46:03,101 INFO L290 TraceCheckUtils]: 37: Hoare triple {160779#(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; {160780#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:46:03,102 INFO L290 TraceCheckUtils]: 38: Hoare triple {160780#(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; {160781#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:46:03,102 INFO L290 TraceCheckUtils]: 39: Hoare triple {160781#(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; {160782#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:46:03,102 INFO L290 TraceCheckUtils]: 40: Hoare triple {160782#(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; {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:46:03,102 INFO L290 TraceCheckUtils]: 41: Hoare triple {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:46:03,103 INFO L290 TraceCheckUtils]: 42: Hoare triple {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {160921#(and (= student_version_~y~1 0) (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:46:03,103 INFO L290 TraceCheckUtils]: 43: Hoare triple {160921#(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; {160925#(and (= student_version_~j~1 student_version_~y~1) (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:46:03,103 INFO L290 TraceCheckUtils]: 44: Hoare triple {160925#(and (= student_version_~j~1 student_version_~y~1) (<= 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; {160929#(and (= (* 2 student_version_~j~1) student_version_~y~1) (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:46:03,104 INFO L290 TraceCheckUtils]: 45: Hoare triple {160929#(and (= (* 2 student_version_~j~1) student_version_~y~1) (<= 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; {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:46:03,104 INFO L290 TraceCheckUtils]: 46: Hoare triple {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} assume !(~x~1 < ~i~1); {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:46:03,104 INFO L290 TraceCheckUtils]: 47: Hoare triple {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} #res := ~y~1; {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:46:03,104 INFO L290 TraceCheckUtils]: 48: Hoare triple {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} assume true; {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:46:03,105 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} {160739#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} #113#return; {160945#(and (<= main_~n_stones1~0 18) (<= 18 |main_#t~ret9|) (<= 18 main_~n_stones1~0) (<= |main_#t~ret9| 18))} is VALID [2022-04-27 11:46:03,105 INFO L290 TraceCheckUtils]: 50: Hoare triple {160945#(and (<= main_~n_stones1~0 18) (<= 18 |main_#t~ret9|) (<= 18 main_~n_stones1~0) (<= |main_#t~ret9| 18))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {160949#(and (<= main_~n_stones1~0 18) (<= main_~n_stones2~0 18) (<= 18 main_~n_stones1~0) (<= 18 main_~n_stones2~0))} is VALID [2022-04-27 11:46:03,106 INFO L272 TraceCheckUtils]: 51: Hoare triple {160949#(and (<= main_~n_stones1~0 18) (<= main_~n_stones2~0 18) (<= 18 main_~n_stones1~0) (<= 18 main_~n_stones2~0))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {160953#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:46:03,106 INFO L290 TraceCheckUtils]: 52: Hoare triple {160953#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {160957#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:46:03,106 INFO L290 TraceCheckUtils]: 53: Hoare triple {160957#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {160714#false} is VALID [2022-04-27 11:46:03,106 INFO L290 TraceCheckUtils]: 54: Hoare triple {160714#false} assume !false; {160714#false} is VALID [2022-04-27 11:46:03,106 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 0 proven. 54 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 11:46:03,106 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:46:03,428 INFO L290 TraceCheckUtils]: 54: Hoare triple {160714#false} assume !false; {160714#false} is VALID [2022-04-27 11:46:03,428 INFO L290 TraceCheckUtils]: 53: Hoare triple {160957#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {160714#false} is VALID [2022-04-27 11:46:03,428 INFO L290 TraceCheckUtils]: 52: Hoare triple {160953#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {160957#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:46:03,429 INFO L272 TraceCheckUtils]: 51: Hoare triple {160761#(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)); {160953#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:46:03,429 INFO L290 TraceCheckUtils]: 50: Hoare triple {160760#(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; {160761#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:46:03,430 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} {160739#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} #113#return; {160760#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:46:03,430 INFO L290 TraceCheckUtils]: 48: Hoare triple {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} assume true; {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:46:03,430 INFO L290 TraceCheckUtils]: 47: Hoare triple {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} #res := ~y~1; {160788#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:46:03,430 INFO L290 TraceCheckUtils]: 46: Hoare triple {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} assume !(~x~1 < ~i~1); {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:46:03,431 INFO L290 TraceCheckUtils]: 45: Hoare triple {160786#(and (<= 18 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 18))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {160787#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:46:03,431 INFO L290 TraceCheckUtils]: 44: Hoare triple {160785#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 18) (<= 18 (+ (* 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; {160786#(and (<= 18 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 18))} is VALID [2022-04-27 11:46:03,432 INFO L290 TraceCheckUtils]: 43: Hoare triple {160784#(and (<= 18 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 18))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {160785#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 18) (<= 18 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:46:03,432 INFO L290 TraceCheckUtils]: 42: Hoare triple {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {160784#(and (<= 18 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 18))} is VALID [2022-04-27 11:46:03,432 INFO L290 TraceCheckUtils]: 41: Hoare triple {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} assume !(~l~1 < ~m); {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:46:03,433 INFO L290 TraceCheckUtils]: 40: Hoare triple {160782#(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; {160783#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:46:03,433 INFO L290 TraceCheckUtils]: 39: Hoare triple {160781#(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; {160782#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:46:03,433 INFO L290 TraceCheckUtils]: 38: Hoare triple {160780#(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; {160781#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:46:03,434 INFO L290 TraceCheckUtils]: 37: Hoare triple {160779#(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; {160780#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:46:03,434 INFO L290 TraceCheckUtils]: 36: Hoare triple {160778#(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; {160779#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:46:03,434 INFO L290 TraceCheckUtils]: 35: Hoare triple {160777#(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; {160778#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:46:03,435 INFO L290 TraceCheckUtils]: 34: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:03,435 INFO L290 TraceCheckUtils]: 33: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:03,435 INFO L290 TraceCheckUtils]: 32: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:03,435 INFO L290 TraceCheckUtils]: 31: Hoare triple {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:03,436 INFO L290 TraceCheckUtils]: 30: Hoare triple {160713#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {160777#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:03,436 INFO L272 TraceCheckUtils]: 29: Hoare triple {160739#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {160713#true} is VALID [2022-04-27 11:46:03,436 INFO L290 TraceCheckUtils]: 28: Hoare triple {160738#(and (<= |main_#t~ret8| 18) (<= 18 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {160739#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} is VALID [2022-04-27 11:46:03,436 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} {160713#true} #111#return; {160738#(and (<= |main_#t~ret8| 18) (<= 18 |main_#t~ret8|))} is VALID [2022-04-27 11:46:03,437 INFO L290 TraceCheckUtils]: 26: Hoare triple {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} assume true; {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:46:03,437 INFO L290 TraceCheckUtils]: 25: Hoare triple {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} #res := ~y~0; {160776#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:46:03,437 INFO L290 TraceCheckUtils]: 24: Hoare triple {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} assume !(~x~0 < ~i~0); {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:46:03,437 INFO L290 TraceCheckUtils]: 23: Hoare triple {160774#(and (<= 18 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 18))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {160775#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:46:03,438 INFO L290 TraceCheckUtils]: 22: Hoare triple {160773#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 18) (<= 18 (+ 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; {160774#(and (<= 18 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 18))} is VALID [2022-04-27 11:46:03,438 INFO L290 TraceCheckUtils]: 21: Hoare triple {160772#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 18) (<= 18 (+ 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; {160773#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 18) (<= 18 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:46:03,438 INFO L290 TraceCheckUtils]: 20: Hoare triple {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {160772#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 18) (<= 18 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} is VALID [2022-04-27 11:46:03,439 INFO L290 TraceCheckUtils]: 19: Hoare triple {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} assume !(~l~0 < ~m); {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,439 INFO L290 TraceCheckUtils]: 18: Hoare triple {160770#(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; {160771#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,439 INFO L290 TraceCheckUtils]: 17: Hoare triple {160769#(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; {160770#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,440 INFO L290 TraceCheckUtils]: 16: Hoare triple {160768#(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; {160769#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:46:03,440 INFO L290 TraceCheckUtils]: 15: Hoare triple {160767#(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; {160768#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:46:03,440 INFO L290 TraceCheckUtils]: 14: Hoare triple {160766#(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; {160767#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:46:03,441 INFO L290 TraceCheckUtils]: 13: Hoare triple {160765#(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; {160766#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:46:03,441 INFO L290 TraceCheckUtils]: 12: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,441 INFO L290 TraceCheckUtils]: 11: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,442 INFO L290 TraceCheckUtils]: 10: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,442 INFO L290 TraceCheckUtils]: 9: Hoare triple {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,442 INFO L290 TraceCheckUtils]: 8: Hoare triple {160713#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {160765#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:03,442 INFO L272 TraceCheckUtils]: 7: Hoare triple {160713#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {160713#true} is VALID [2022-04-27 11:46:03,442 INFO L290 TraceCheckUtils]: 6: Hoare triple {160713#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {160713#true} is VALID [2022-04-27 11:46:03,442 INFO L290 TraceCheckUtils]: 5: Hoare triple {160713#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {160713#true} is VALID [2022-04-27 11:46:03,442 INFO L272 TraceCheckUtils]: 4: Hoare triple {160713#true} call #t~ret10 := main(); {160713#true} is VALID [2022-04-27 11:46:03,442 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {160713#true} {160713#true} #117#return; {160713#true} is VALID [2022-04-27 11:46:03,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {160713#true} assume true; {160713#true} is VALID [2022-04-27 11:46:03,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {160713#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {160713#true} is VALID [2022-04-27 11:46:03,442 INFO L272 TraceCheckUtils]: 0: Hoare triple {160713#true} call ULTIMATE.init(); {160713#true} is VALID [2022-04-27 11:46:03,443 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 0 proven. 54 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 11:46:03,443 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [434941917] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:46:03,443 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:46:03,443 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [33, 32, 32] total 43 [2022-04-27 11:46:03,443 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [125359188] [2022-04-27 11:46:03,443 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:46:03,443 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 55 [2022-04-27 11:46:03,443 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:46:03,444 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:46:03,471 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:46:03,471 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 43 states [2022-04-27 11:46:03,471 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:46:03,472 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2022-04-27 11:46:03,472 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=1705, Unknown=0, NotChecked=0, Total=1806 [2022-04-27 11:46:03,472 INFO L87 Difference]: Start difference. First operand 824 states and 931 transitions. Second operand has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:46:13,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:46:13,436 INFO L93 Difference]: Finished difference Result 830 states and 936 transitions. [2022-04-27 11:46:13,436 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-27 11:46:13,436 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 55 [2022-04-27 11:46:13,436 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:46:13,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:46:13,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 158 transitions. [2022-04-27 11:46:13,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:46:13,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 158 transitions. [2022-04-27 11:46:13,438 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 158 transitions. [2022-04-27 11:46:13,554 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-27 11:46:13,586 INFO L225 Difference]: With dead ends: 830 [2022-04-27 11:46:13,586 INFO L226 Difference]: Without dead ends: 806 [2022-04-27 11:46:13,589 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 177 GetRequests, 96 SyntacticMatches, 9 SemanticMatches, 72 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 836 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=269, Invalid=5133, Unknown=0, NotChecked=0, Total=5402 [2022-04-27 11:46:13,590 INFO L413 NwaCegarLoop]: 81 mSDtfsCounter, 159 mSDsluCounter, 172 mSDsCounter, 0 mSdLazyCounter, 4216 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 162 SdHoareTripleChecker+Valid, 253 SdHoareTripleChecker+Invalid, 4254 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 4216 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:46:13,590 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [162 Valid, 253 Invalid, 4254 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 4216 Invalid, 0 Unknown, 0 Unchecked, 2.1s Time] [2022-04-27 11:46:13,590 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 806 states. [2022-04-27 11:46:19,214 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 806 to 806. [2022-04-27 11:46:19,214 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:46:19,215 INFO L82 GeneralOperation]: Start isEquivalent. First operand 806 states. Second operand has 806 states, 722 states have (on average 1.1440443213296398) internal successors, (826), 772 states have internal predecessors, (826), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (55), 28 states have call predecessors, (55), 28 states have call successors, (55) [2022-04-27 11:46:19,215 INFO L74 IsIncluded]: Start isIncluded. First operand 806 states. Second operand has 806 states, 722 states have (on average 1.1440443213296398) internal successors, (826), 772 states have internal predecessors, (826), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (55), 28 states have call predecessors, (55), 28 states have call successors, (55) [2022-04-27 11:46:19,216 INFO L87 Difference]: Start difference. First operand 806 states. Second operand has 806 states, 722 states have (on average 1.1440443213296398) internal successors, (826), 772 states have internal predecessors, (826), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (55), 28 states have call predecessors, (55), 28 states have call successors, (55) [2022-04-27 11:46:19,238 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:46:19,238 INFO L93 Difference]: Finished difference Result 806 states and 911 transitions. [2022-04-27 11:46:19,238 INFO L276 IsEmpty]: Start isEmpty. Operand 806 states and 911 transitions. [2022-04-27 11:46:19,241 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:46:19,241 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:46:19,242 INFO L74 IsIncluded]: Start isIncluded. First operand has 806 states, 722 states have (on average 1.1440443213296398) internal successors, (826), 772 states have internal predecessors, (826), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (55), 28 states have call predecessors, (55), 28 states have call successors, (55) Second operand 806 states. [2022-04-27 11:46:19,242 INFO L87 Difference]: Start difference. First operand has 806 states, 722 states have (on average 1.1440443213296398) internal successors, (826), 772 states have internal predecessors, (826), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (55), 28 states have call predecessors, (55), 28 states have call successors, (55) Second operand 806 states. [2022-04-27 11:46:19,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:46:19,264 INFO L93 Difference]: Finished difference Result 806 states and 911 transitions. [2022-04-27 11:46:19,264 INFO L276 IsEmpty]: Start isEmpty. Operand 806 states and 911 transitions. [2022-04-27 11:46:19,268 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:46:19,268 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:46:19,268 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:46:19,268 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:46:19,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 806 states, 722 states have (on average 1.1440443213296398) internal successors, (826), 772 states have internal predecessors, (826), 30 states have call successors, (30), 5 states have call predecessors, (30), 53 states have return successors, (55), 28 states have call predecessors, (55), 28 states have call successors, (55) [2022-04-27 11:46:19,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 806 states to 806 states and 911 transitions. [2022-04-27 11:46:19,297 INFO L78 Accepts]: Start accepts. Automaton has 806 states and 911 transitions. Word has length 55 [2022-04-27 11:46:19,297 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:46:19,297 INFO L495 AbstractCegarLoop]: Abstraction has 806 states and 911 transitions. [2022-04-27 11:46:19,298 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:46:19,298 INFO L276 IsEmpty]: Start isEmpty. Operand 806 states and 911 transitions. [2022-04-27 11:46:19,302 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 11:46:19,302 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:46:19,302 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:46:19,320 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (73)] Ended with exit code 0 [2022-04-27 11:46:19,520 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 73 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable81 [2022-04-27 11:46:19,521 INFO L420 AbstractCegarLoop]: === Iteration 83 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:46:19,521 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:46:19,521 INFO L85 PathProgramCache]: Analyzing trace with hash 2070730282, now seen corresponding path program 73 times [2022-04-27 11:46:19,521 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:46:19,521 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1086811382] [2022-04-27 11:46:19,521 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:46:19,521 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:46:19,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:19,592 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:46:19,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:19,594 INFO L290 TraceCheckUtils]: 0: Hoare triple {165327#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {165276#true} is VALID [2022-04-27 11:46:19,594 INFO L290 TraceCheckUtils]: 1: Hoare triple {165276#true} assume true; {165276#true} is VALID [2022-04-27 11:46:19,594 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {165276#true} {165276#true} #117#return; {165276#true} is VALID [2022-04-27 11:46:19,595 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:46:19,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:19,742 INFO L290 TraceCheckUtils]: 0: Hoare triple {165276#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:19,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:19,743 INFO L290 TraceCheckUtils]: 2: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:19,743 INFO L290 TraceCheckUtils]: 3: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:19,743 INFO L290 TraceCheckUtils]: 4: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:19,743 INFO L290 TraceCheckUtils]: 5: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:19,744 INFO L290 TraceCheckUtils]: 6: Hoare triple {165328#(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; {165329#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:46:19,744 INFO L290 TraceCheckUtils]: 7: Hoare triple {165329#(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; {165330#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:46:19,744 INFO L290 TraceCheckUtils]: 8: Hoare triple {165330#(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; {165331#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:46:19,745 INFO L290 TraceCheckUtils]: 9: Hoare triple {165331#(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; {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:46:19,745 INFO L290 TraceCheckUtils]: 10: Hoare triple {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:46:19,745 INFO L290 TraceCheckUtils]: 11: Hoare triple {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {165333#(and (<= 16 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 16))} is VALID [2022-04-27 11:46:19,746 INFO L290 TraceCheckUtils]: 12: Hoare triple {165333#(and (<= 16 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 16))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {165334#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 16) (<= 16 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} is VALID [2022-04-27 11:46:19,746 INFO L290 TraceCheckUtils]: 13: Hoare triple {165334#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 16) (<= 16 (+ 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; {165335#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 16) (<= 16 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:46:19,747 INFO L290 TraceCheckUtils]: 14: Hoare triple {165335#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 16) (<= 16 (+ 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; {165336#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 16) (<= 16 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:46:19,747 INFO L290 TraceCheckUtils]: 15: Hoare triple {165336#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 16) (<= 16 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:46:19,747 INFO L290 TraceCheckUtils]: 16: Hoare triple {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} assume !(~x~0 < ~i~0); {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:46:19,747 INFO L290 TraceCheckUtils]: 17: Hoare triple {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} #res := ~y~0; {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:46:19,748 INFO L290 TraceCheckUtils]: 18: Hoare triple {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} assume true; {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:46:19,748 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} {165276#true} #111#return; {165301#(and (<= |main_#t~ret8| 16) (<= 16 |main_#t~ret8|))} is VALID [2022-04-27 11:46:19,748 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-27 11:46:19,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:19,909 INFO L290 TraceCheckUtils]: 0: Hoare triple {165276#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:19,909 INFO L290 TraceCheckUtils]: 1: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:19,909 INFO L290 TraceCheckUtils]: 2: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:19,909 INFO L290 TraceCheckUtils]: 3: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:19,910 INFO L290 TraceCheckUtils]: 4: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:19,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:19,910 INFO L290 TraceCheckUtils]: 6: Hoare triple {165339#(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; {165340#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:46:19,911 INFO L290 TraceCheckUtils]: 7: Hoare triple {165340#(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; {165341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:46:19,911 INFO L290 TraceCheckUtils]: 8: Hoare triple {165341#(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; {165342#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:46:19,911 INFO L290 TraceCheckUtils]: 9: Hoare triple {165342#(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; {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:46:19,912 INFO L290 TraceCheckUtils]: 10: Hoare triple {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:46:19,912 INFO L290 TraceCheckUtils]: 11: Hoare triple {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {165344#(and (<= 16 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 16))} is VALID [2022-04-27 11:46:19,912 INFO L290 TraceCheckUtils]: 12: Hoare triple {165344#(and (<= 16 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 16))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {165345#(and (<= 16 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 16))} is VALID [2022-04-27 11:46:19,913 INFO L290 TraceCheckUtils]: 13: Hoare triple {165345#(and (<= 16 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 16))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {165346#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 16) (<= 16 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:46:19,913 INFO L290 TraceCheckUtils]: 14: Hoare triple {165346#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 16) (<= 16 (+ (* 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; {165347#(and (<= 16 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 16))} is VALID [2022-04-27 11:46:19,913 INFO L290 TraceCheckUtils]: 15: Hoare triple {165347#(and (<= 16 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 16))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:46:19,914 INFO L290 TraceCheckUtils]: 16: Hoare triple {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} assume !(~x~1 < ~i~1); {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:46:19,914 INFO L290 TraceCheckUtils]: 17: Hoare triple {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} #res := ~y~1; {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:46:19,914 INFO L290 TraceCheckUtils]: 18: Hoare triple {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} assume true; {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:46:19,915 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} {165302#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} #113#return; {165323#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:46:19,915 INFO L272 TraceCheckUtils]: 0: Hoare triple {165276#true} call ULTIMATE.init(); {165327#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:46:19,915 INFO L290 TraceCheckUtils]: 1: Hoare triple {165327#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {165276#true} is VALID [2022-04-27 11:46:19,915 INFO L290 TraceCheckUtils]: 2: Hoare triple {165276#true} assume true; {165276#true} is VALID [2022-04-27 11:46:19,915 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {165276#true} {165276#true} #117#return; {165276#true} is VALID [2022-04-27 11:46:19,915 INFO L272 TraceCheckUtils]: 4: Hoare triple {165276#true} call #t~ret10 := main(); {165276#true} is VALID [2022-04-27 11:46:19,915 INFO L290 TraceCheckUtils]: 5: Hoare triple {165276#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {165276#true} is VALID [2022-04-27 11:46:19,915 INFO L290 TraceCheckUtils]: 6: Hoare triple {165276#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {165276#true} is VALID [2022-04-27 11:46:19,915 INFO L272 TraceCheckUtils]: 7: Hoare triple {165276#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {165276#true} is VALID [2022-04-27 11:46:19,916 INFO L290 TraceCheckUtils]: 8: Hoare triple {165276#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:19,916 INFO L290 TraceCheckUtils]: 9: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:19,916 INFO L290 TraceCheckUtils]: 10: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:19,916 INFO L290 TraceCheckUtils]: 11: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:19,916 INFO L290 TraceCheckUtils]: 12: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:19,917 INFO L290 TraceCheckUtils]: 13: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:19,917 INFO L290 TraceCheckUtils]: 14: Hoare triple {165328#(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; {165329#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:46:19,917 INFO L290 TraceCheckUtils]: 15: Hoare triple {165329#(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; {165330#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:46:19,918 INFO L290 TraceCheckUtils]: 16: Hoare triple {165330#(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; {165331#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:46:19,918 INFO L290 TraceCheckUtils]: 17: Hoare triple {165331#(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; {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:46:19,918 INFO L290 TraceCheckUtils]: 18: Hoare triple {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:46:19,919 INFO L290 TraceCheckUtils]: 19: Hoare triple {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {165333#(and (<= 16 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 16))} is VALID [2022-04-27 11:46:19,919 INFO L290 TraceCheckUtils]: 20: Hoare triple {165333#(and (<= 16 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 16))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {165334#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 16) (<= 16 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} is VALID [2022-04-27 11:46:19,919 INFO L290 TraceCheckUtils]: 21: Hoare triple {165334#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 16) (<= 16 (+ 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; {165335#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 16) (<= 16 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:46:19,920 INFO L290 TraceCheckUtils]: 22: Hoare triple {165335#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 16) (<= 16 (+ 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; {165336#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 16) (<= 16 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:46:19,920 INFO L290 TraceCheckUtils]: 23: Hoare triple {165336#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 16) (<= 16 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:46:19,920 INFO L290 TraceCheckUtils]: 24: Hoare triple {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} assume !(~x~0 < ~i~0); {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:46:19,920 INFO L290 TraceCheckUtils]: 25: Hoare triple {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} #res := ~y~0; {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:46:19,921 INFO L290 TraceCheckUtils]: 26: Hoare triple {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} assume true; {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:46:19,921 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} {165276#true} #111#return; {165301#(and (<= |main_#t~ret8| 16) (<= 16 |main_#t~ret8|))} is VALID [2022-04-27 11:46:19,921 INFO L290 TraceCheckUtils]: 28: Hoare triple {165301#(and (<= |main_#t~ret8| 16) (<= 16 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {165302#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} is VALID [2022-04-27 11:46:19,921 INFO L272 TraceCheckUtils]: 29: Hoare triple {165302#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {165276#true} is VALID [2022-04-27 11:46:19,922 INFO L290 TraceCheckUtils]: 30: Hoare triple {165276#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:19,922 INFO L290 TraceCheckUtils]: 31: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:19,922 INFO L290 TraceCheckUtils]: 32: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:19,922 INFO L290 TraceCheckUtils]: 33: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:19,923 INFO L290 TraceCheckUtils]: 34: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:19,923 INFO L290 TraceCheckUtils]: 35: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:19,923 INFO L290 TraceCheckUtils]: 36: Hoare triple {165339#(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; {165340#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:46:19,924 INFO L290 TraceCheckUtils]: 37: Hoare triple {165340#(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; {165341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:46:19,924 INFO L290 TraceCheckUtils]: 38: Hoare triple {165341#(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; {165342#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:46:19,924 INFO L290 TraceCheckUtils]: 39: Hoare triple {165342#(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; {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:46:19,924 INFO L290 TraceCheckUtils]: 40: Hoare triple {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:46:19,925 INFO L290 TraceCheckUtils]: 41: Hoare triple {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {165344#(and (<= 16 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 16))} is VALID [2022-04-27 11:46:19,925 INFO L290 TraceCheckUtils]: 42: Hoare triple {165344#(and (<= 16 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 16))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {165345#(and (<= 16 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 16))} is VALID [2022-04-27 11:46:19,925 INFO L290 TraceCheckUtils]: 43: Hoare triple {165345#(and (<= 16 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 16))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {165346#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 16) (<= 16 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:46:19,926 INFO L290 TraceCheckUtils]: 44: Hoare triple {165346#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 16) (<= 16 (+ (* 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; {165347#(and (<= 16 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 16))} is VALID [2022-04-27 11:46:19,926 INFO L290 TraceCheckUtils]: 45: Hoare triple {165347#(and (<= 16 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 16))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:46:19,926 INFO L290 TraceCheckUtils]: 46: Hoare triple {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} assume !(~x~1 < ~i~1); {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:46:19,927 INFO L290 TraceCheckUtils]: 47: Hoare triple {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} #res := ~y~1; {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:46:19,927 INFO L290 TraceCheckUtils]: 48: Hoare triple {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} assume true; {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:46:19,927 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} {165302#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} #113#return; {165323#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:46:19,928 INFO L290 TraceCheckUtils]: 50: Hoare triple {165323#(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; {165324#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:46:19,928 INFO L272 TraceCheckUtils]: 51: Hoare triple {165324#(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)); {165325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:46:19,928 INFO L290 TraceCheckUtils]: 52: Hoare triple {165325#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {165326#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:46:19,928 INFO L290 TraceCheckUtils]: 53: Hoare triple {165326#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {165277#false} is VALID [2022-04-27 11:46:19,928 INFO L290 TraceCheckUtils]: 54: Hoare triple {165277#false} assume !false; {165277#false} is VALID [2022-04-27 11:46:19,929 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-27 11:46:19,929 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:46:19,929 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1086811382] [2022-04-27 11:46:19,929 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1086811382] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:46:19,929 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1403984980] [2022-04-27 11:46:19,929 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-04-27 11:46:19,929 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:46:19,929 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:46:19,930 INFO L229 MonitoredProcess]: Starting monitored process 74 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:46:19,931 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (74)] Waiting until timeout for monitored process [2022-04-27 11:46:20,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:20,031 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-27 11:46:20,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:20,044 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:46:20,921 INFO L272 TraceCheckUtils]: 0: Hoare triple {165276#true} call ULTIMATE.init(); {165276#true} is VALID [2022-04-27 11:46:20,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {165276#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {165276#true} is VALID [2022-04-27 11:46:20,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {165276#true} assume true; {165276#true} is VALID [2022-04-27 11:46:20,922 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {165276#true} {165276#true} #117#return; {165276#true} is VALID [2022-04-27 11:46:20,922 INFO L272 TraceCheckUtils]: 4: Hoare triple {165276#true} call #t~ret10 := main(); {165276#true} is VALID [2022-04-27 11:46:20,922 INFO L290 TraceCheckUtils]: 5: Hoare triple {165276#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {165276#true} is VALID [2022-04-27 11:46:20,922 INFO L290 TraceCheckUtils]: 6: Hoare triple {165276#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {165276#true} is VALID [2022-04-27 11:46:20,922 INFO L272 TraceCheckUtils]: 7: Hoare triple {165276#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {165276#true} is VALID [2022-04-27 11:46:20,922 INFO L290 TraceCheckUtils]: 8: Hoare triple {165276#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:20,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:20,923 INFO L290 TraceCheckUtils]: 10: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:20,923 INFO L290 TraceCheckUtils]: 11: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:20,923 INFO L290 TraceCheckUtils]: 12: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:20,923 INFO L290 TraceCheckUtils]: 13: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:20,924 INFO L290 TraceCheckUtils]: 14: Hoare triple {165328#(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; {165329#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:46:20,924 INFO L290 TraceCheckUtils]: 15: Hoare triple {165329#(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; {165330#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:46:20,924 INFO L290 TraceCheckUtils]: 16: Hoare triple {165330#(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; {165331#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:46:20,925 INFO L290 TraceCheckUtils]: 17: Hoare triple {165331#(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; {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:46:20,925 INFO L290 TraceCheckUtils]: 18: Hoare triple {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:46:20,925 INFO L290 TraceCheckUtils]: 19: Hoare triple {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {165410#(and (<= 4 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:46:20,925 INFO L290 TraceCheckUtils]: 20: Hoare triple {165410#(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; {165414#(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-27 11:46:20,926 INFO L290 TraceCheckUtils]: 21: Hoare triple {165414#(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; {165418#(and (= (+ correct_version_~y~0 (* (- 2) correct_version_~j~0)) 0) (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:46:20,926 INFO L290 TraceCheckUtils]: 22: Hoare triple {165418#(and (= (+ correct_version_~y~0 (* (- 2) 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; {165422#(and (= (+ correct_version_~y~0 (* correct_version_~j~0 (- 3))) 0) (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:46:20,927 INFO L290 TraceCheckUtils]: 23: Hoare triple {165422#(and (= (+ correct_version_~y~0 (* correct_version_~j~0 (- 3))) 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; {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:46:20,927 INFO L290 TraceCheckUtils]: 24: Hoare triple {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} assume !(~x~0 < ~i~0); {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:46:20,927 INFO L290 TraceCheckUtils]: 25: Hoare triple {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} #res := ~y~0; {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:46:20,927 INFO L290 TraceCheckUtils]: 26: Hoare triple {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} assume true; {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:46:20,928 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} {165276#true} #111#return; {165301#(and (<= |main_#t~ret8| 16) (<= 16 |main_#t~ret8|))} is VALID [2022-04-27 11:46:20,928 INFO L290 TraceCheckUtils]: 28: Hoare triple {165301#(and (<= |main_#t~ret8| 16) (<= 16 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {165302#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} is VALID [2022-04-27 11:46:20,928 INFO L272 TraceCheckUtils]: 29: Hoare triple {165302#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {165276#true} is VALID [2022-04-27 11:46:20,928 INFO L290 TraceCheckUtils]: 30: Hoare triple {165276#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:20,929 INFO L290 TraceCheckUtils]: 31: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:20,929 INFO L290 TraceCheckUtils]: 32: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:20,929 INFO L290 TraceCheckUtils]: 33: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:20,929 INFO L290 TraceCheckUtils]: 34: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:20,930 INFO L290 TraceCheckUtils]: 35: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:20,930 INFO L290 TraceCheckUtils]: 36: Hoare triple {165339#(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; {165340#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:46:20,930 INFO L290 TraceCheckUtils]: 37: Hoare triple {165340#(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; {165341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:46:20,931 INFO L290 TraceCheckUtils]: 38: Hoare triple {165341#(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; {165342#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:46:20,931 INFO L290 TraceCheckUtils]: 39: Hoare triple {165342#(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; {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:46:20,931 INFO L290 TraceCheckUtils]: 40: Hoare triple {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:46:20,931 INFO L290 TraceCheckUtils]: 41: Hoare triple {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {165480#(and (= student_version_~y~1 0) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:46:20,932 INFO L290 TraceCheckUtils]: 42: Hoare triple {165480#(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; {165484#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} is VALID [2022-04-27 11:46:20,932 INFO L290 TraceCheckUtils]: 43: Hoare triple {165484#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4) (= (+ 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; {165488#(and (= (* 2 student_version_~j~1) student_version_~y~1) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:46:20,932 INFO L290 TraceCheckUtils]: 44: Hoare triple {165488#(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; {165492#(and (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) (* 2 student_version_~j~1)) (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:46:20,933 INFO L290 TraceCheckUtils]: 45: Hoare triple {165492#(and (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) (* 2 student_version_~j~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; {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:46:20,933 INFO L290 TraceCheckUtils]: 46: Hoare triple {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} assume !(~x~1 < ~i~1); {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:46:20,933 INFO L290 TraceCheckUtils]: 47: Hoare triple {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} #res := ~y~1; {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:46:20,934 INFO L290 TraceCheckUtils]: 48: Hoare triple {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} assume true; {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:46:20,934 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} {165302#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} #113#return; {165508#(and (<= 16 |main_#t~ret9|) (<= |main_#t~ret9| 16) (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} is VALID [2022-04-27 11:46:20,934 INFO L290 TraceCheckUtils]: 50: Hoare triple {165508#(and (<= 16 |main_#t~ret9|) (<= |main_#t~ret9| 16) (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {165512#(and (<= main_~n_stones2~0 16) (<= 16 main_~n_stones1~0) (<= 16 main_~n_stones2~0) (<= main_~n_stones1~0 16))} is VALID [2022-04-27 11:46:20,935 INFO L272 TraceCheckUtils]: 51: Hoare triple {165512#(and (<= main_~n_stones2~0 16) (<= 16 main_~n_stones1~0) (<= 16 main_~n_stones2~0) (<= main_~n_stones1~0 16))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {165516#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:46:20,935 INFO L290 TraceCheckUtils]: 52: Hoare triple {165516#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {165520#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:46:20,935 INFO L290 TraceCheckUtils]: 53: Hoare triple {165520#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {165277#false} is VALID [2022-04-27 11:46:20,935 INFO L290 TraceCheckUtils]: 54: Hoare triple {165277#false} assume !false; {165277#false} is VALID [2022-04-27 11:46:20,935 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-27 11:46:20,936 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:46:21,514 INFO L290 TraceCheckUtils]: 54: Hoare triple {165277#false} assume !false; {165277#false} is VALID [2022-04-27 11:46:21,515 INFO L290 TraceCheckUtils]: 53: Hoare triple {165520#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {165277#false} is VALID [2022-04-27 11:46:21,515 INFO L290 TraceCheckUtils]: 52: Hoare triple {165516#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {165520#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:46:21,516 INFO L272 TraceCheckUtils]: 51: Hoare triple {165324#(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)); {165516#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:46:21,516 INFO L290 TraceCheckUtils]: 50: Hoare triple {165323#(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; {165324#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:46:21,517 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} {165302#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} #113#return; {165323#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:46:21,517 INFO L290 TraceCheckUtils]: 48: Hoare triple {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} assume true; {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:46:21,518 INFO L290 TraceCheckUtils]: 47: Hoare triple {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} #res := ~y~1; {165349#(and (<= 16 |student_version_#res|) (<= |student_version_#res| 16))} is VALID [2022-04-27 11:46:21,518 INFO L290 TraceCheckUtils]: 46: Hoare triple {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} assume !(~x~1 < ~i~1); {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:46:21,518 INFO L290 TraceCheckUtils]: 45: Hoare triple {165347#(and (<= 16 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 16))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {165348#(and (<= 16 student_version_~y~1) (<= student_version_~y~1 16))} is VALID [2022-04-27 11:46:21,519 INFO L290 TraceCheckUtils]: 44: Hoare triple {165346#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 16) (<= 16 (+ (* 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; {165347#(and (<= 16 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 16))} is VALID [2022-04-27 11:46:21,519 INFO L290 TraceCheckUtils]: 43: Hoare triple {165345#(and (<= 16 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 16))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {165346#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 16) (<= 16 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:46:21,520 INFO L290 TraceCheckUtils]: 42: Hoare triple {165344#(and (<= 16 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 16))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {165345#(and (<= 16 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 16))} is VALID [2022-04-27 11:46:21,520 INFO L290 TraceCheckUtils]: 41: Hoare triple {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} ~x~1 := 0;~y~1 := 0; {165344#(and (<= 16 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 16))} is VALID [2022-04-27 11:46:21,521 INFO L290 TraceCheckUtils]: 40: Hoare triple {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} assume !(~l~1 < ~m); {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:46:21,521 INFO L290 TraceCheckUtils]: 39: Hoare triple {165342#(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; {165343#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:46:21,522 INFO L290 TraceCheckUtils]: 38: Hoare triple {165341#(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; {165342#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:46:21,522 INFO L290 TraceCheckUtils]: 37: Hoare triple {165340#(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; {165341#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:46:21,522 INFO L290 TraceCheckUtils]: 36: Hoare triple {165339#(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; {165340#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:46:21,523 INFO L290 TraceCheckUtils]: 35: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:21,523 INFO L290 TraceCheckUtils]: 34: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:21,524 INFO L290 TraceCheckUtils]: 33: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:21,524 INFO L290 TraceCheckUtils]: 32: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:21,524 INFO L290 TraceCheckUtils]: 31: Hoare triple {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:21,525 INFO L290 TraceCheckUtils]: 30: Hoare triple {165276#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {165339#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:21,525 INFO L272 TraceCheckUtils]: 29: Hoare triple {165302#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {165276#true} is VALID [2022-04-27 11:46:21,525 INFO L290 TraceCheckUtils]: 28: Hoare triple {165301#(and (<= |main_#t~ret8| 16) (<= 16 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {165302#(and (<= 16 main_~n_stones1~0) (<= main_~n_stones1~0 16))} is VALID [2022-04-27 11:46:21,526 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} {165276#true} #111#return; {165301#(and (<= |main_#t~ret8| 16) (<= 16 |main_#t~ret8|))} is VALID [2022-04-27 11:46:21,526 INFO L290 TraceCheckUtils]: 26: Hoare triple {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} assume true; {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:46:21,527 INFO L290 TraceCheckUtils]: 25: Hoare triple {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} #res := ~y~0; {165338#(and (<= |correct_version_#res| 16) (<= 16 |correct_version_#res|))} is VALID [2022-04-27 11:46:21,527 INFO L290 TraceCheckUtils]: 24: Hoare triple {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} assume !(~x~0 < ~i~0); {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:46:21,527 INFO L290 TraceCheckUtils]: 23: Hoare triple {165336#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 16) (<= 16 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {165337#(and (<= correct_version_~y~0 16) (<= 16 correct_version_~y~0))} is VALID [2022-04-27 11:46:21,528 INFO L290 TraceCheckUtils]: 22: Hoare triple {165335#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 16) (<= 16 (+ 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; {165336#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 16) (<= 16 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:46:21,528 INFO L290 TraceCheckUtils]: 21: Hoare triple {165334#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 16) (<= 16 (+ 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; {165335#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 16) (<= 16 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:46:21,529 INFO L290 TraceCheckUtils]: 20: Hoare triple {165333#(and (<= 16 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 16))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {165334#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 16) (<= 16 (+ correct_version_~y~0 (* correct_version_~j~0 3))))} is VALID [2022-04-27 11:46:21,529 INFO L290 TraceCheckUtils]: 19: Hoare triple {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} ~x~0 := 0;~y~0 := 0; {165333#(and (<= 16 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 16))} is VALID [2022-04-27 11:46:21,530 INFO L290 TraceCheckUtils]: 18: Hoare triple {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} assume !(~l~0 < ~m); {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:46:21,530 INFO L290 TraceCheckUtils]: 17: Hoare triple {165331#(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; {165332#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:46:21,531 INFO L290 TraceCheckUtils]: 16: Hoare triple {165330#(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; {165331#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:46:21,531 INFO L290 TraceCheckUtils]: 15: Hoare triple {165329#(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; {165330#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:46:21,531 INFO L290 TraceCheckUtils]: 14: Hoare triple {165328#(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; {165329#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:46:21,532 INFO L290 TraceCheckUtils]: 13: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:21,532 INFO L290 TraceCheckUtils]: 12: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:21,533 INFO L290 TraceCheckUtils]: 11: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:21,533 INFO L290 TraceCheckUtils]: 10: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:21,533 INFO L290 TraceCheckUtils]: 9: Hoare triple {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:21,534 INFO L290 TraceCheckUtils]: 8: Hoare triple {165276#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {165328#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:21,534 INFO L272 TraceCheckUtils]: 7: Hoare triple {165276#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {165276#true} is VALID [2022-04-27 11:46:21,534 INFO L290 TraceCheckUtils]: 6: Hoare triple {165276#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {165276#true} is VALID [2022-04-27 11:46:21,534 INFO L290 TraceCheckUtils]: 5: Hoare triple {165276#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {165276#true} is VALID [2022-04-27 11:46:21,534 INFO L272 TraceCheckUtils]: 4: Hoare triple {165276#true} call #t~ret10 := main(); {165276#true} is VALID [2022-04-27 11:46:21,534 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {165276#true} {165276#true} #117#return; {165276#true} is VALID [2022-04-27 11:46:21,534 INFO L290 TraceCheckUtils]: 2: Hoare triple {165276#true} assume true; {165276#true} is VALID [2022-04-27 11:46:21,534 INFO L290 TraceCheckUtils]: 1: Hoare triple {165276#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {165276#true} is VALID [2022-04-27 11:46:21,534 INFO L272 TraceCheckUtils]: 0: Hoare triple {165276#true} call ULTIMATE.init(); {165276#true} is VALID [2022-04-27 11:46:21,534 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-27 11:46:21,534 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1403984980] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:46:21,534 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:46:21,534 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 30, 30] total 43 [2022-04-27 11:46:21,535 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [880714268] [2022-04-27 11:46:21,535 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:46:21,535 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 55 [2022-04-27 11:46:21,535 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:46:21,535 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:46:21,578 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:46:21,579 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 43 states [2022-04-27 11:46:21,579 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:46:21,579 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2022-04-27 11:46:21,579 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=1701, Unknown=0, NotChecked=0, Total=1806 [2022-04-27 11:46:21,579 INFO L87 Difference]: Start difference. First operand 806 states and 911 transitions. Second operand has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:46:31,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:46:31,105 INFO L93 Difference]: Finished difference Result 812 states and 916 transitions. [2022-04-27 11:46:31,105 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-27 11:46:31,105 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 55 [2022-04-27 11:46:31,105 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:46:31,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:46:31,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 128 transitions. [2022-04-27 11:46:31,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:46:31,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 128 transitions. [2022-04-27 11:46:31,107 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 128 transitions. [2022-04-27 11:46:31,168 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:46:31,209 INFO L225 Difference]: With dead ends: 812 [2022-04-27 11:46:31,210 INFO L226 Difference]: Without dead ends: 786 [2022-04-27 11:46:31,213 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 94 SyntacticMatches, 9 SemanticMatches, 70 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 841 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=271, Invalid=4841, Unknown=0, NotChecked=0, Total=5112 [2022-04-27 11:46:31,213 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 121 mSDsluCounter, 172 mSDsCounter, 0 mSdLazyCounter, 3127 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 123 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 3165 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 3127 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-27 11:46:31,213 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [123 Valid, 230 Invalid, 3165 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 3127 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-27 11:46:31,213 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 786 states. [2022-04-27 11:46:37,042 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 786 to 786. [2022-04-27 11:46:37,042 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:46:37,043 INFO L82 GeneralOperation]: Start isEquivalent. First operand 786 states. Second operand has 786 states, 705 states have (on average 1.1446808510638298) internal successors, (807), 753 states have internal predecessors, (807), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (53), 27 states have call predecessors, (53), 27 states have call successors, (53) [2022-04-27 11:46:37,043 INFO L74 IsIncluded]: Start isIncluded. First operand 786 states. Second operand has 786 states, 705 states have (on average 1.1446808510638298) internal successors, (807), 753 states have internal predecessors, (807), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (53), 27 states have call predecessors, (53), 27 states have call successors, (53) [2022-04-27 11:46:37,044 INFO L87 Difference]: Start difference. First operand 786 states. Second operand has 786 states, 705 states have (on average 1.1446808510638298) internal successors, (807), 753 states have internal predecessors, (807), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (53), 27 states have call predecessors, (53), 27 states have call successors, (53) [2022-04-27 11:46:37,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:46:37,065 INFO L93 Difference]: Finished difference Result 786 states and 889 transitions. [2022-04-27 11:46:37,065 INFO L276 IsEmpty]: Start isEmpty. Operand 786 states and 889 transitions. [2022-04-27 11:46:37,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:46:37,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:46:37,069 INFO L74 IsIncluded]: Start isIncluded. First operand has 786 states, 705 states have (on average 1.1446808510638298) internal successors, (807), 753 states have internal predecessors, (807), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (53), 27 states have call predecessors, (53), 27 states have call successors, (53) Second operand 786 states. [2022-04-27 11:46:37,069 INFO L87 Difference]: Start difference. First operand has 786 states, 705 states have (on average 1.1446808510638298) internal successors, (807), 753 states have internal predecessors, (807), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (53), 27 states have call predecessors, (53), 27 states have call successors, (53) Second operand 786 states. [2022-04-27 11:46:37,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:46:37,090 INFO L93 Difference]: Finished difference Result 786 states and 889 transitions. [2022-04-27 11:46:37,090 INFO L276 IsEmpty]: Start isEmpty. Operand 786 states and 889 transitions. [2022-04-27 11:46:37,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:46:37,094 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:46:37,094 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:46:37,094 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:46:37,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 786 states, 705 states have (on average 1.1446808510638298) internal successors, (807), 753 states have internal predecessors, (807), 29 states have call successors, (29), 5 states have call predecessors, (29), 51 states have return successors, (53), 27 states have call predecessors, (53), 27 states have call successors, (53) [2022-04-27 11:46:37,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 786 states to 786 states and 889 transitions. [2022-04-27 11:46:37,121 INFO L78 Accepts]: Start accepts. Automaton has 786 states and 889 transitions. Word has length 55 [2022-04-27 11:46:37,121 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:46:37,121 INFO L495 AbstractCegarLoop]: Abstraction has 786 states and 889 transitions. [2022-04-27 11:46:37,122 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:46:37,122 INFO L276 IsEmpty]: Start isEmpty. Operand 786 states and 889 transitions. [2022-04-27 11:46:37,126 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 11:46:37,126 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:46:37,126 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 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] [2022-04-27 11:46:37,142 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (74)] Forceful destruction successful, exit code 0 [2022-04-27 11:46:37,342 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable82,74 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:46:37,342 INFO L420 AbstractCegarLoop]: === Iteration 84 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:46:37,342 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:46:37,342 INFO L85 PathProgramCache]: Analyzing trace with hash -827352577, now seen corresponding path program 74 times [2022-04-27 11:46:37,342 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:46:37,342 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1887096276] [2022-04-27 11:46:37,343 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:46:37,343 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:46:37,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:37,375 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:46:37,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:37,377 INFO L290 TraceCheckUtils]: 0: Hoare triple {169783#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {169737#true} is VALID [2022-04-27 11:46:37,377 INFO L290 TraceCheckUtils]: 1: Hoare triple {169737#true} assume true; {169737#true} is VALID [2022-04-27 11:46:37,377 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {169737#true} {169737#true} #117#return; {169737#true} is VALID [2022-04-27 11:46:37,377 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:46:37,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:37,479 INFO L290 TraceCheckUtils]: 0: Hoare triple {169737#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {169784#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:46:37,480 INFO L290 TraceCheckUtils]: 1: Hoare triple {169784#(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; {169785#(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-27 11:46:37,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {169785#(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; {169786#(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-27 11:46:37,481 INFO L290 TraceCheckUtils]: 3: Hoare triple {169786#(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; {169787#(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-27 11:46:37,481 INFO L290 TraceCheckUtils]: 4: Hoare triple {169787#(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; {169788#(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-27 11:46:37,482 INFO L290 TraceCheckUtils]: 5: Hoare triple {169788#(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);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {169789#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 5 correct_version_~a)))} is VALID [2022-04-27 11:46:37,482 INFO L290 TraceCheckUtils]: 6: Hoare triple {169789#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 5 correct_version_~a)))} assume !(~b~0 < ~n); {169790#(and (<= |correct_version_#in~n| (* 5 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:46:37,482 INFO L290 TraceCheckUtils]: 7: Hoare triple {169790#(and (<= |correct_version_#in~n| (* 5 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,483 INFO L290 TraceCheckUtils]: 8: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !(~l~0 < ~m); {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,483 INFO L290 TraceCheckUtils]: 9: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,483 INFO L290 TraceCheckUtils]: 10: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,483 INFO L290 TraceCheckUtils]: 11: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,484 INFO L290 TraceCheckUtils]: 12: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,484 INFO L290 TraceCheckUtils]: 13: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,484 INFO L290 TraceCheckUtils]: 14: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,484 INFO L290 TraceCheckUtils]: 15: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,485 INFO L290 TraceCheckUtils]: 16: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} #res := ~y~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,485 INFO L290 TraceCheckUtils]: 17: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume true; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,486 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} {169737#true} #111#return; {169761#(<= main_~n~0 (* 5 main_~a~0))} is VALID [2022-04-27 11:46:37,486 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-27 11:46:37,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:37,652 INFO L290 TraceCheckUtils]: 0: Hoare triple {169737#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {169792#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:46:37,653 INFO L290 TraceCheckUtils]: 1: Hoare triple {169792#(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; {169793#(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-27 11:46:37,653 INFO L290 TraceCheckUtils]: 2: Hoare triple {169793#(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; {169794#(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-27 11:46:37,654 INFO L290 TraceCheckUtils]: 3: Hoare triple {169794#(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; {169795#(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-27 11:46:37,654 INFO L290 TraceCheckUtils]: 4: Hoare triple {169795#(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; {169796#(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-27 11:46:37,655 INFO L290 TraceCheckUtils]: 5: Hoare triple {169796#(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; {169797#(and (= |student_version_#in~a| student_version_~a) (<= (* 5 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:46:37,655 INFO L290 TraceCheckUtils]: 6: Hoare triple {169797#(and (= |student_version_#in~a| student_version_~a) (<= (* 5 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; {169798#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 5 student_version_~a) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:46:37,656 INFO L290 TraceCheckUtils]: 7: Hoare triple {169798#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 5 student_version_~a) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {169799#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 5 student_version_~a) 1) |student_version_#in~n|))} is VALID [2022-04-27 11:46:37,656 INFO L290 TraceCheckUtils]: 8: Hoare triple {169799#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 5 student_version_~a) 1) |student_version_#in~n|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,656 INFO L290 TraceCheckUtils]: 9: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,657 INFO L290 TraceCheckUtils]: 10: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,657 INFO L290 TraceCheckUtils]: 11: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,657 INFO L290 TraceCheckUtils]: 12: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,657 INFO L290 TraceCheckUtils]: 13: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,658 INFO L290 TraceCheckUtils]: 14: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,658 INFO L290 TraceCheckUtils]: 15: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,658 INFO L290 TraceCheckUtils]: 16: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,658 INFO L290 TraceCheckUtils]: 17: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,659 INFO L290 TraceCheckUtils]: 18: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} #res := ~y~1; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,659 INFO L290 TraceCheckUtils]: 19: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume true; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,660 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} {169761#(<= main_~n~0 (* 5 main_~a~0))} #113#return; {169738#false} is VALID [2022-04-27 11:46:37,660 INFO L272 TraceCheckUtils]: 0: Hoare triple {169737#true} call ULTIMATE.init(); {169783#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:46:37,660 INFO L290 TraceCheckUtils]: 1: Hoare triple {169783#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {169737#true} is VALID [2022-04-27 11:46:37,660 INFO L290 TraceCheckUtils]: 2: Hoare triple {169737#true} assume true; {169737#true} is VALID [2022-04-27 11:46:37,660 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {169737#true} {169737#true} #117#return; {169737#true} is VALID [2022-04-27 11:46:37,660 INFO L272 TraceCheckUtils]: 4: Hoare triple {169737#true} call #t~ret10 := main(); {169737#true} is VALID [2022-04-27 11:46:37,660 INFO L290 TraceCheckUtils]: 5: Hoare triple {169737#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {169737#true} is VALID [2022-04-27 11:46:37,660 INFO L290 TraceCheckUtils]: 6: Hoare triple {169737#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {169737#true} is VALID [2022-04-27 11:46:37,660 INFO L272 TraceCheckUtils]: 7: Hoare triple {169737#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {169737#true} is VALID [2022-04-27 11:46:37,661 INFO L290 TraceCheckUtils]: 8: Hoare triple {169737#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {169784#(and (<= correct_version_~b~0 0) (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:46:37,661 INFO L290 TraceCheckUtils]: 9: Hoare triple {169784#(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; {169785#(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-27 11:46:37,662 INFO L290 TraceCheckUtils]: 10: Hoare triple {169785#(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; {169786#(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-27 11:46:37,662 INFO L290 TraceCheckUtils]: 11: Hoare triple {169786#(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; {169787#(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-27 11:46:37,663 INFO L290 TraceCheckUtils]: 12: Hoare triple {169787#(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; {169788#(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-27 11:46:37,663 INFO L290 TraceCheckUtils]: 13: Hoare triple {169788#(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);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {169789#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 5 correct_version_~a)))} is VALID [2022-04-27 11:46:37,664 INFO L290 TraceCheckUtils]: 14: Hoare triple {169789#(and (= |correct_version_#in~n| correct_version_~n) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~b~0 (* 5 correct_version_~a)))} assume !(~b~0 < ~n); {169790#(and (<= |correct_version_#in~n| (* 5 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:46:37,664 INFO L290 TraceCheckUtils]: 15: Hoare triple {169790#(and (<= |correct_version_#in~n| (* 5 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,664 INFO L290 TraceCheckUtils]: 16: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !(~l~0 < ~m); {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,665 INFO L290 TraceCheckUtils]: 17: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,665 INFO L290 TraceCheckUtils]: 18: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,665 INFO L290 TraceCheckUtils]: 19: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,665 INFO L290 TraceCheckUtils]: 20: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,666 INFO L290 TraceCheckUtils]: 21: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,666 INFO L290 TraceCheckUtils]: 22: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,666 INFO L290 TraceCheckUtils]: 23: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,666 INFO L290 TraceCheckUtils]: 24: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} #res := ~y~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,667 INFO L290 TraceCheckUtils]: 25: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume true; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:37,667 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} {169737#true} #111#return; {169761#(<= main_~n~0 (* 5 main_~a~0))} is VALID [2022-04-27 11:46:37,667 INFO L290 TraceCheckUtils]: 27: Hoare triple {169761#(<= main_~n~0 (* 5 main_~a~0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {169761#(<= main_~n~0 (* 5 main_~a~0))} is VALID [2022-04-27 11:46:37,667 INFO L272 TraceCheckUtils]: 28: Hoare triple {169761#(<= main_~n~0 (* 5 main_~a~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {169737#true} is VALID [2022-04-27 11:46:37,668 INFO L290 TraceCheckUtils]: 29: Hoare triple {169737#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {169792#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:46:37,668 INFO L290 TraceCheckUtils]: 30: Hoare triple {169792#(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; {169793#(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-27 11:46:37,669 INFO L290 TraceCheckUtils]: 31: Hoare triple {169793#(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; {169794#(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-27 11:46:37,669 INFO L290 TraceCheckUtils]: 32: Hoare triple {169794#(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; {169795#(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-27 11:46:37,670 INFO L290 TraceCheckUtils]: 33: Hoare triple {169795#(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; {169796#(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-27 11:46:37,670 INFO L290 TraceCheckUtils]: 34: Hoare triple {169796#(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; {169797#(and (= |student_version_#in~a| student_version_~a) (<= (* 5 student_version_~a) student_version_~b~1) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:46:37,671 INFO L290 TraceCheckUtils]: 35: Hoare triple {169797#(and (= |student_version_#in~a| student_version_~a) (<= (* 5 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; {169798#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 5 student_version_~a) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:46:37,671 INFO L290 TraceCheckUtils]: 36: Hoare triple {169798#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 5 student_version_~a) 1) student_version_~n) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {169799#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 5 student_version_~a) 1) |student_version_#in~n|))} is VALID [2022-04-27 11:46:37,672 INFO L290 TraceCheckUtils]: 37: Hoare triple {169799#(and (= |student_version_#in~a| student_version_~a) (<= (+ (* 5 student_version_~a) 1) |student_version_#in~n|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,672 INFO L290 TraceCheckUtils]: 38: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,672 INFO L290 TraceCheckUtils]: 39: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,672 INFO L290 TraceCheckUtils]: 40: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,673 INFO L290 TraceCheckUtils]: 41: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,673 INFO L290 TraceCheckUtils]: 42: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,673 INFO L290 TraceCheckUtils]: 43: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,673 INFO L290 TraceCheckUtils]: 44: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,673 INFO L290 TraceCheckUtils]: 45: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,674 INFO L290 TraceCheckUtils]: 46: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,674 INFO L290 TraceCheckUtils]: 47: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} #res := ~y~1; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,674 INFO L290 TraceCheckUtils]: 48: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume true; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:37,675 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} {169761#(<= main_~n~0 (* 5 main_~a~0))} #113#return; {169738#false} is VALID [2022-04-27 11:46:37,675 INFO L290 TraceCheckUtils]: 50: Hoare triple {169738#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {169738#false} is VALID [2022-04-27 11:46:37,675 INFO L272 TraceCheckUtils]: 51: Hoare triple {169738#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {169738#false} is VALID [2022-04-27 11:46:37,675 INFO L290 TraceCheckUtils]: 52: Hoare triple {169738#false} ~cond := #in~cond; {169738#false} is VALID [2022-04-27 11:46:37,675 INFO L290 TraceCheckUtils]: 53: Hoare triple {169738#false} assume 0 == ~cond; {169738#false} is VALID [2022-04-27 11:46:37,675 INFO L290 TraceCheckUtils]: 54: Hoare triple {169738#false} assume !false; {169738#false} is VALID [2022-04-27 11:46:37,675 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 0 proven. 38 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-27 11:46:37,675 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:46:37,676 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1887096276] [2022-04-27 11:46:37,676 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1887096276] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:46:37,676 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [229053006] [2022-04-27 11:46:37,676 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:46:37,676 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:46:37,676 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:46:37,677 INFO L229 MonitoredProcess]: Starting monitored process 75 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:46:37,677 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (75)] Waiting until timeout for monitored process [2022-04-27 11:46:37,771 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:46:37,771 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:46:37,772 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-27 11:46:37,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:37,785 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:46:39,125 INFO L272 TraceCheckUtils]: 0: Hoare triple {169737#true} call ULTIMATE.init(); {169737#true} is VALID [2022-04-27 11:46:39,125 INFO L290 TraceCheckUtils]: 1: Hoare triple {169737#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {169737#true} is VALID [2022-04-27 11:46:39,125 INFO L290 TraceCheckUtils]: 2: Hoare triple {169737#true} assume true; {169737#true} is VALID [2022-04-27 11:46:39,125 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {169737#true} {169737#true} #117#return; {169737#true} is VALID [2022-04-27 11:46:39,125 INFO L272 TraceCheckUtils]: 4: Hoare triple {169737#true} call #t~ret10 := main(); {169737#true} is VALID [2022-04-27 11:46:39,125 INFO L290 TraceCheckUtils]: 5: Hoare triple {169737#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {169737#true} is VALID [2022-04-27 11:46:39,125 INFO L290 TraceCheckUtils]: 6: Hoare triple {169737#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {169737#true} is VALID [2022-04-27 11:46:39,125 INFO L272 TraceCheckUtils]: 7: Hoare triple {169737#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {169737#true} is VALID [2022-04-27 11:46:39,126 INFO L290 TraceCheckUtils]: 8: Hoare triple {169737#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {169828#(and (<= correct_version_~b~0 0) (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:46:39,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {169828#(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; {169832#(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-27 11:46:39,127 INFO L290 TraceCheckUtils]: 10: Hoare triple {169832#(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; {169836#(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-27 11:46:39,127 INFO L290 TraceCheckUtils]: 11: Hoare triple {169836#(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; {169840#(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-27 11:46:39,128 INFO L290 TraceCheckUtils]: 12: Hoare triple {169840#(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; {169844#(and (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|) (<= correct_version_~b~0 (* 4 correct_version_~a)))} is VALID [2022-04-27 11:46:39,128 INFO L290 TraceCheckUtils]: 13: Hoare triple {169844#(and (<= |correct_version_#in~n| correct_version_~n) (<= correct_version_~a |correct_version_#in~a|) (<= correct_version_~b~0 (* 4 correct_version_~a)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {169848#(and (<= |correct_version_#in~n| correct_version_~n) (<= (div (- correct_version_~b~0) (- 5)) |correct_version_#in~a|))} is VALID [2022-04-27 11:46:39,129 INFO L290 TraceCheckUtils]: 14: Hoare triple {169848#(and (<= |correct_version_#in~n| correct_version_~n) (<= (div (- correct_version_~b~0) (- 5)) |correct_version_#in~a|))} assume !(~b~0 < ~n); {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:39,129 INFO L290 TraceCheckUtils]: 15: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:39,129 INFO L290 TraceCheckUtils]: 16: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !(~l~0 < ~m); {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:39,130 INFO L290 TraceCheckUtils]: 17: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:39,130 INFO L290 TraceCheckUtils]: 18: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:39,130 INFO L290 TraceCheckUtils]: 19: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:39,130 INFO L290 TraceCheckUtils]: 20: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:39,131 INFO L290 TraceCheckUtils]: 21: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:39,131 INFO L290 TraceCheckUtils]: 22: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:39,131 INFO L290 TraceCheckUtils]: 23: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:39,131 INFO L290 TraceCheckUtils]: 24: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} #res := ~y~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:39,132 INFO L290 TraceCheckUtils]: 25: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume true; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:39,132 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} {169737#true} #111#return; {169761#(<= main_~n~0 (* 5 main_~a~0))} is VALID [2022-04-27 11:46:39,133 INFO L290 TraceCheckUtils]: 27: Hoare triple {169761#(<= main_~n~0 (* 5 main_~a~0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {169761#(<= main_~n~0 (* 5 main_~a~0))} is VALID [2022-04-27 11:46:39,133 INFO L272 TraceCheckUtils]: 28: Hoare triple {169761#(<= main_~n~0 (* 5 main_~a~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {169737#true} is VALID [2022-04-27 11:46:39,133 INFO L290 TraceCheckUtils]: 29: Hoare triple {169737#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {169897#(and (<= 0 student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-27 11:46:39,133 INFO L290 TraceCheckUtils]: 30: Hoare triple {169897#(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; {169901#(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-27 11:46:39,134 INFO L290 TraceCheckUtils]: 31: Hoare triple {169901#(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; {169905#(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-27 11:46:39,135 INFO L290 TraceCheckUtils]: 32: Hoare triple {169905#(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; {169909#(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-27 11:46:39,135 INFO L290 TraceCheckUtils]: 33: Hoare triple {169909#(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; {169913#(and (<= (* student_version_~a 4) student_version_~b~1) (<= |student_version_#in~a| student_version_~a) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-27 11:46:39,136 INFO L290 TraceCheckUtils]: 34: Hoare triple {169913#(and (<= (* student_version_~a 4) 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; {169917#(and (<= |student_version_#in~a| (div student_version_~b~1 5)) (<= student_version_~n |student_version_#in~n|))} is VALID [2022-04-27 11:46:39,136 INFO L290 TraceCheckUtils]: 35: Hoare triple {169917#(and (<= |student_version_#in~a| (div student_version_~b~1 5)) (<= student_version_~n |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:39,136 INFO L290 TraceCheckUtils]: 36: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:39,137 INFO L290 TraceCheckUtils]: 37: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:39,137 INFO L290 TraceCheckUtils]: 38: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:39,137 INFO L290 TraceCheckUtils]: 39: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:39,137 INFO L290 TraceCheckUtils]: 40: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:39,138 INFO L290 TraceCheckUtils]: 41: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:39,138 INFO L290 TraceCheckUtils]: 42: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:39,138 INFO L290 TraceCheckUtils]: 43: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:39,138 INFO L290 TraceCheckUtils]: 44: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:39,139 INFO L290 TraceCheckUtils]: 45: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:39,139 INFO L290 TraceCheckUtils]: 46: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:39,139 INFO L290 TraceCheckUtils]: 47: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} #res := ~y~1; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:39,139 INFO L290 TraceCheckUtils]: 48: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume true; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:39,140 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} {169761#(<= main_~n~0 (* 5 main_~a~0))} #113#return; {169738#false} is VALID [2022-04-27 11:46:39,140 INFO L290 TraceCheckUtils]: 50: Hoare triple {169738#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {169738#false} is VALID [2022-04-27 11:46:39,140 INFO L272 TraceCheckUtils]: 51: Hoare triple {169738#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {169738#false} is VALID [2022-04-27 11:46:39,140 INFO L290 TraceCheckUtils]: 52: Hoare triple {169738#false} ~cond := #in~cond; {169738#false} is VALID [2022-04-27 11:46:39,140 INFO L290 TraceCheckUtils]: 53: Hoare triple {169738#false} assume 0 == ~cond; {169738#false} is VALID [2022-04-27 11:46:39,141 INFO L290 TraceCheckUtils]: 54: Hoare triple {169738#false} assume !false; {169738#false} is VALID [2022-04-27 11:46:39,141 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-27 11:46:39,141 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:46:40,506 INFO L290 TraceCheckUtils]: 54: Hoare triple {169738#false} assume !false; {169738#false} is VALID [2022-04-27 11:46:40,506 INFO L290 TraceCheckUtils]: 53: Hoare triple {169738#false} assume 0 == ~cond; {169738#false} is VALID [2022-04-27 11:46:40,506 INFO L290 TraceCheckUtils]: 52: Hoare triple {169738#false} ~cond := #in~cond; {169738#false} is VALID [2022-04-27 11:46:40,506 INFO L272 TraceCheckUtils]: 51: Hoare triple {169738#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {169738#false} is VALID [2022-04-27 11:46:40,506 INFO L290 TraceCheckUtils]: 50: Hoare triple {169738#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {169738#false} is VALID [2022-04-27 11:46:40,507 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} {169761#(<= main_~n~0 (* 5 main_~a~0))} #113#return; {169738#false} is VALID [2022-04-27 11:46:40,507 INFO L290 TraceCheckUtils]: 48: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume true; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:40,507 INFO L290 TraceCheckUtils]: 47: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} #res := ~y~1; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:40,508 INFO L290 TraceCheckUtils]: 46: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume !(~x~1 < ~i~1); {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:40,508 INFO L290 TraceCheckUtils]: 45: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:40,508 INFO L290 TraceCheckUtils]: 44: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:40,508 INFO L290 TraceCheckUtils]: 43: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:40,509 INFO L290 TraceCheckUtils]: 42: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:40,509 INFO L290 TraceCheckUtils]: 41: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:40,509 INFO L290 TraceCheckUtils]: 40: Hoare triple {169800#(<= (+ (* 5 |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; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:40,509 INFO L290 TraceCheckUtils]: 39: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} ~x~1 := 0;~y~1 := 0; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:40,509 INFO L290 TraceCheckUtils]: 38: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume !(~l~1 < ~m); {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:40,510 INFO L290 TraceCheckUtils]: 37: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:40,510 INFO L290 TraceCheckUtils]: 36: Hoare triple {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} assume !(~b~1 < ~n); {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:40,510 INFO L290 TraceCheckUtils]: 35: Hoare triple {170038#(or (not (< student_version_~b~1 student_version_~n)) (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {169800#(<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|)} is VALID [2022-04-27 11:46:40,511 INFO L290 TraceCheckUtils]: 34: Hoare triple {170042#(or (<= student_version_~n (+ student_version_~b~1 student_version_~a)) (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {170038#(or (not (< student_version_~b~1 student_version_~n)) (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|))} is VALID [2022-04-27 11:46:40,511 INFO L290 TraceCheckUtils]: 33: Hoare triple {170046#(or (<= student_version_~n (+ student_version_~b~1 (* 2 student_version_~a))) (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {170042#(or (<= student_version_~n (+ student_version_~b~1 student_version_~a)) (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|))} is VALID [2022-04-27 11:46:40,512 INFO L290 TraceCheckUtils]: 32: Hoare triple {170050#(or (<= (+ (* 5 |student_version_#in~a|) 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; {170046#(or (<= student_version_~n (+ student_version_~b~1 (* 2 student_version_~a))) (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|))} is VALID [2022-04-27 11:46:40,512 INFO L290 TraceCheckUtils]: 31: Hoare triple {170054#(or (<= student_version_~n (+ student_version_~b~1 (* student_version_~a 4))) (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {170050#(or (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|) (<= student_version_~n (+ (* 3 student_version_~a) student_version_~b~1)))} is VALID [2022-04-27 11:46:40,513 INFO L290 TraceCheckUtils]: 30: Hoare triple {170058#(or (<= student_version_~n (+ (* 5 student_version_~a) student_version_~b~1)) (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {170054#(or (<= student_version_~n (+ student_version_~b~1 (* student_version_~a 4))) (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|))} is VALID [2022-04-27 11:46:40,513 INFO L290 TraceCheckUtils]: 29: Hoare triple {169737#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {170058#(or (<= student_version_~n (+ (* 5 student_version_~a) student_version_~b~1)) (<= (+ (* 5 |student_version_#in~a|) 1) |student_version_#in~n|))} is VALID [2022-04-27 11:46:40,514 INFO L272 TraceCheckUtils]: 28: Hoare triple {169761#(<= main_~n~0 (* 5 main_~a~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {169737#true} is VALID [2022-04-27 11:46:40,514 INFO L290 TraceCheckUtils]: 27: Hoare triple {169761#(<= main_~n~0 (* 5 main_~a~0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {169761#(<= main_~n~0 (* 5 main_~a~0))} is VALID [2022-04-27 11:46:40,514 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} {169737#true} #111#return; {169761#(<= main_~n~0 (* 5 main_~a~0))} is VALID [2022-04-27 11:46:40,515 INFO L290 TraceCheckUtils]: 25: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume true; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:40,515 INFO L290 TraceCheckUtils]: 24: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} #res := ~y~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:40,515 INFO L290 TraceCheckUtils]: 23: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !(~x~0 < ~i~0); {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:40,515 INFO L290 TraceCheckUtils]: 22: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:40,516 INFO L290 TraceCheckUtils]: 21: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:40,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:40,516 INFO L290 TraceCheckUtils]: 19: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:40,516 INFO L290 TraceCheckUtils]: 18: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:40,517 INFO L290 TraceCheckUtils]: 17: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} ~x~0 := 0;~y~0 := 0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:40,517 INFO L290 TraceCheckUtils]: 16: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !(~l~0 < ~m); {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:40,517 INFO L290 TraceCheckUtils]: 15: Hoare triple {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:40,517 INFO L290 TraceCheckUtils]: 14: Hoare triple {170107#(or (<= |correct_version_#in~n| (* 5 |correct_version_#in~a|)) (< correct_version_~b~0 correct_version_~n))} assume !(~b~0 < ~n); {169791#(<= |correct_version_#in~n| (* 5 |correct_version_#in~a|))} is VALID [2022-04-27 11:46:40,518 INFO L290 TraceCheckUtils]: 13: Hoare triple {170111#(or (<= |correct_version_#in~n| (* 5 |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; {170107#(or (<= |correct_version_#in~n| (* 5 |correct_version_#in~a|)) (< correct_version_~b~0 correct_version_~n))} is VALID [2022-04-27 11:46:40,518 INFO L290 TraceCheckUtils]: 12: Hoare triple {170115#(or (< (+ (* 2 correct_version_~a) correct_version_~b~0) correct_version_~n) (<= |correct_version_#in~n| (* 5 |correct_version_#in~a|)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {170111#(or (<= |correct_version_#in~n| (* 5 |correct_version_#in~a|)) (< (+ correct_version_~b~0 correct_version_~a) correct_version_~n))} is VALID [2022-04-27 11:46:40,519 INFO L290 TraceCheckUtils]: 11: Hoare triple {170119#(or (<= |correct_version_#in~n| (* 5 |correct_version_#in~a|)) (< (+ 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; {170115#(or (< (+ (* 2 correct_version_~a) correct_version_~b~0) correct_version_~n) (<= |correct_version_#in~n| (* 5 |correct_version_#in~a|)))} is VALID [2022-04-27 11:46:40,519 INFO L290 TraceCheckUtils]: 10: Hoare triple {170123#(or (< (+ correct_version_~b~0 (* 4 correct_version_~a)) correct_version_~n) (<= |correct_version_#in~n| (* 5 |correct_version_#in~a|)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {170119#(or (<= |correct_version_#in~n| (* 5 |correct_version_#in~a|)) (< (+ correct_version_~b~0 (* 3 correct_version_~a)) correct_version_~n))} is VALID [2022-04-27 11:46:40,520 INFO L290 TraceCheckUtils]: 9: Hoare triple {170127#(or (< (+ correct_version_~b~0 (* 5 correct_version_~a)) correct_version_~n) (<= |correct_version_#in~n| (* 5 |correct_version_#in~a|)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {170123#(or (< (+ correct_version_~b~0 (* 4 correct_version_~a)) correct_version_~n) (<= |correct_version_#in~n| (* 5 |correct_version_#in~a|)))} is VALID [2022-04-27 11:46:40,520 INFO L290 TraceCheckUtils]: 8: Hoare triple {169737#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {170127#(or (< (+ correct_version_~b~0 (* 5 correct_version_~a)) correct_version_~n) (<= |correct_version_#in~n| (* 5 |correct_version_#in~a|)))} is VALID [2022-04-27 11:46:40,520 INFO L272 TraceCheckUtils]: 7: Hoare triple {169737#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {169737#true} is VALID [2022-04-27 11:46:40,521 INFO L290 TraceCheckUtils]: 6: Hoare triple {169737#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {169737#true} is VALID [2022-04-27 11:46:40,521 INFO L290 TraceCheckUtils]: 5: Hoare triple {169737#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {169737#true} is VALID [2022-04-27 11:46:40,521 INFO L272 TraceCheckUtils]: 4: Hoare triple {169737#true} call #t~ret10 := main(); {169737#true} is VALID [2022-04-27 11:46:40,521 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {169737#true} {169737#true} #117#return; {169737#true} is VALID [2022-04-27 11:46:40,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {169737#true} assume true; {169737#true} is VALID [2022-04-27 11:46:40,521 INFO L290 TraceCheckUtils]: 1: Hoare triple {169737#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {169737#true} is VALID [2022-04-27 11:46:40,521 INFO L272 TraceCheckUtils]: 0: Hoare triple {169737#true} call ULTIMATE.init(); {169737#true} is VALID [2022-04-27 11:46:40,521 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 6 proven. 30 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-27 11:46:40,521 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [229053006] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:46:40,521 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:46:40,521 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 17, 17] total 45 [2022-04-27 11:46:40,521 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1216806460] [2022-04-27 11:46:40,521 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:46:40,522 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 44 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 55 [2022-04-27 11:46:40,522 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:46:40,522 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 45 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 44 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:46:40,569 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-27 11:46:40,569 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 45 states [2022-04-27 11:46:40,569 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:46:40,570 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2022-04-27 11:46:40,570 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=157, Invalid=1823, Unknown=0, NotChecked=0, Total=1980 [2022-04-27 11:46:40,570 INFO L87 Difference]: Start difference. First operand 786 states and 889 transitions. Second operand has 45 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 44 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:46:52,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:46:52,043 INFO L93 Difference]: Finished difference Result 874 states and 995 transitions. [2022-04-27 11:46:52,043 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-27 11:46:52,044 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 44 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 55 [2022-04-27 11:46:52,044 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:46:52,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 44 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:46:52,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 150 transitions. [2022-04-27 11:46:52,045 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 44 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:46:52,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 150 transitions. [2022-04-27 11:46:52,046 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 150 transitions. [2022-04-27 11:46:52,139 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:46:52,198 INFO L225 Difference]: With dead ends: 874 [2022-04-27 11:46:52,198 INFO L226 Difference]: Without dead ends: 856 [2022-04-27 11:46:52,202 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 157 GetRequests, 85 SyntacticMatches, 5 SemanticMatches, 67 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 630 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=404, Invalid=4288, Unknown=0, NotChecked=0, Total=4692 [2022-04-27 11:46:52,202 INFO L413 NwaCegarLoop]: 83 mSDtfsCounter, 461 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 2736 mSolverCounterSat, 59 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 465 SdHoareTripleChecker+Valid, 205 SdHoareTripleChecker+Invalid, 2795 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 59 IncrementalHoareTripleChecker+Valid, 2736 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.9s IncrementalHoareTripleChecker+Time [2022-04-27 11:46:52,202 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [465 Valid, 205 Invalid, 2795 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [59 Valid, 2736 Invalid, 0 Unknown, 0 Unchecked, 1.9s Time] [2022-04-27 11:46:52,203 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 856 states. [2022-04-27 11:46:59,248 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 856 to 851. [2022-04-27 11:46:59,248 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:46:59,249 INFO L82 GeneralOperation]: Start isEquivalent. First operand 856 states. Second operand has 851 states, 743 states have (on average 1.135935397039031) internal successors, (844), 809 states have internal predecessors, (844), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (80), 36 states have call predecessors, (80), 36 states have call successors, (80) [2022-04-27 11:46:59,250 INFO L74 IsIncluded]: Start isIncluded. First operand 856 states. Second operand has 851 states, 743 states have (on average 1.135935397039031) internal successors, (844), 809 states have internal predecessors, (844), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (80), 36 states have call predecessors, (80), 36 states have call successors, (80) [2022-04-27 11:46:59,250 INFO L87 Difference]: Start difference. First operand 856 states. Second operand has 851 states, 743 states have (on average 1.135935397039031) internal successors, (844), 809 states have internal predecessors, (844), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (80), 36 states have call predecessors, (80), 36 states have call successors, (80) [2022-04-27 11:46:59,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:46:59,275 INFO L93 Difference]: Finished difference Result 856 states and 967 transitions. [2022-04-27 11:46:59,275 INFO L276 IsEmpty]: Start isEmpty. Operand 856 states and 967 transitions. [2022-04-27 11:46:59,280 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:46:59,280 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:46:59,280 INFO L74 IsIncluded]: Start isIncluded. First operand has 851 states, 743 states have (on average 1.135935397039031) internal successors, (844), 809 states have internal predecessors, (844), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (80), 36 states have call predecessors, (80), 36 states have call successors, (80) Second operand 856 states. [2022-04-27 11:46:59,281 INFO L87 Difference]: Start difference. First operand has 851 states, 743 states have (on average 1.135935397039031) internal successors, (844), 809 states have internal predecessors, (844), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (80), 36 states have call predecessors, (80), 36 states have call successors, (80) Second operand 856 states. [2022-04-27 11:46:59,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:46:59,306 INFO L93 Difference]: Finished difference Result 856 states and 967 transitions. [2022-04-27 11:46:59,306 INFO L276 IsEmpty]: Start isEmpty. Operand 856 states and 967 transitions. [2022-04-27 11:46:59,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:46:59,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:46:59,311 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:46:59,311 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:46:59,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 851 states, 743 states have (on average 1.135935397039031) internal successors, (844), 809 states have internal predecessors, (844), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (80), 36 states have call predecessors, (80), 36 states have call successors, (80) [2022-04-27 11:46:59,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 851 states to 851 states and 962 transitions. [2022-04-27 11:46:59,344 INFO L78 Accepts]: Start accepts. Automaton has 851 states and 962 transitions. Word has length 55 [2022-04-27 11:46:59,344 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:46:59,344 INFO L495 AbstractCegarLoop]: Abstraction has 851 states and 962 transitions. [2022-04-27 11:46:59,344 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 45 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 44 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:46:59,344 INFO L276 IsEmpty]: Start isEmpty. Operand 851 states and 962 transitions. [2022-04-27 11:46:59,350 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 11:46:59,350 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:46:59,350 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 5, 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-27 11:46:59,365 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (75)] Ended with exit code 0 [2022-04-27 11:46:59,563 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable83,75 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:46:59,563 INFO L420 AbstractCegarLoop]: === Iteration 85 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:46:59,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:46:59,564 INFO L85 PathProgramCache]: Analyzing trace with hash -704555318, now seen corresponding path program 75 times [2022-04-27 11:46:59,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:46:59,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [922623717] [2022-04-27 11:46:59,564 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:46:59,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:46:59,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:59,631 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:46:59,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:59,634 INFO L290 TraceCheckUtils]: 0: Hoare triple {174510#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {174459#true} is VALID [2022-04-27 11:46:59,634 INFO L290 TraceCheckUtils]: 1: Hoare triple {174459#true} assume true; {174459#true} is VALID [2022-04-27 11:46:59,634 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {174459#true} {174459#true} #117#return; {174459#true} is VALID [2022-04-27 11:46:59,634 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:46:59,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:59,765 INFO L290 TraceCheckUtils]: 0: Hoare triple {174459#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:59,765 INFO L290 TraceCheckUtils]: 1: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:59,765 INFO L290 TraceCheckUtils]: 2: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:59,766 INFO L290 TraceCheckUtils]: 3: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:59,766 INFO L290 TraceCheckUtils]: 4: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:59,766 INFO L290 TraceCheckUtils]: 5: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:59,767 INFO L290 TraceCheckUtils]: 6: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:46:59,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {174511#(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; {174512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:46:59,767 INFO L290 TraceCheckUtils]: 8: Hoare triple {174512#(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; {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:46:59,768 INFO L290 TraceCheckUtils]: 9: Hoare triple {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:46:59,768 INFO L290 TraceCheckUtils]: 10: Hoare triple {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {174514#(and (<= (+ (* correct_version_~j~0 5) correct_version_~y~0) 10) (<= 10 (+ (* correct_version_~j~0 5) correct_version_~y~0)))} is VALID [2022-04-27 11:46:59,768 INFO L290 TraceCheckUtils]: 11: Hoare triple {174514#(and (<= (+ (* correct_version_~j~0 5) correct_version_~y~0) 10) (<= 10 (+ (* correct_version_~j~0 5) correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {174515#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 10))} is VALID [2022-04-27 11:46:59,769 INFO L290 TraceCheckUtils]: 12: Hoare triple {174515#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 10))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {174516#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 10))} is VALID [2022-04-27 11:46:59,769 INFO L290 TraceCheckUtils]: 13: Hoare triple {174516#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 10))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {174517#(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-27 11:46:59,770 INFO L290 TraceCheckUtils]: 14: Hoare triple {174517#(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; {174518#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 10) (<= 10 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:46:59,770 INFO L290 TraceCheckUtils]: 15: Hoare triple {174518#(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; {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:46:59,770 INFO L290 TraceCheckUtils]: 16: Hoare triple {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:46:59,771 INFO L290 TraceCheckUtils]: 17: Hoare triple {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:46:59,771 INFO L290 TraceCheckUtils]: 18: Hoare triple {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:46:59,772 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {174459#true} #111#return; {174484#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-27 11:46:59,772 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-27 11:46:59,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:46:59,994 INFO L290 TraceCheckUtils]: 0: Hoare triple {174459#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:59,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:59,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:59,995 INFO L290 TraceCheckUtils]: 3: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:59,996 INFO L290 TraceCheckUtils]: 4: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:59,996 INFO L290 TraceCheckUtils]: 5: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:59,996 INFO L290 TraceCheckUtils]: 6: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:46:59,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {174521#(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; {174522#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:46:59,997 INFO L290 TraceCheckUtils]: 8: Hoare triple {174522#(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; {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:46:59,998 INFO L290 TraceCheckUtils]: 9: Hoare triple {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:46:59,998 INFO L290 TraceCheckUtils]: 10: Hoare triple {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {174524#(and (<= 10 (+ student_version_~y~1 (* 5 student_version_~j~1))) (<= (+ student_version_~y~1 (* 5 student_version_~j~1)) 10))} is VALID [2022-04-27 11:46:59,998 INFO L290 TraceCheckUtils]: 11: Hoare triple {174524#(and (<= 10 (+ student_version_~y~1 (* 5 student_version_~j~1))) (<= (+ student_version_~y~1 (* 5 student_version_~j~1)) 10))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {174525#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 10) (<= 10 (+ (* student_version_~j~1 4) student_version_~y~1)))} is VALID [2022-04-27 11:46:59,999 INFO L290 TraceCheckUtils]: 12: Hoare triple {174525#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 10) (<= 10 (+ (* 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; {174526#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 10) (<= 10 (+ student_version_~y~1 (* 3 student_version_~j~1))))} is VALID [2022-04-27 11:46:59,999 INFO L290 TraceCheckUtils]: 13: Hoare triple {174526#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 10) (<= 10 (+ 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; {174527#(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-27 11:47:00,000 INFO L290 TraceCheckUtils]: 14: Hoare triple {174527#(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; {174528#(and (<= 10 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 10))} is VALID [2022-04-27 11:47:00,000 INFO L290 TraceCheckUtils]: 15: Hoare triple {174528#(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; {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:47:00,001 INFO L290 TraceCheckUtils]: 16: Hoare triple {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:47:00,001 INFO L290 TraceCheckUtils]: 17: Hoare triple {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:47:00,001 INFO L290 TraceCheckUtils]: 18: Hoare triple {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:47:00,002 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {174485#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {174506#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:47:00,003 INFO L272 TraceCheckUtils]: 0: Hoare triple {174459#true} call ULTIMATE.init(); {174510#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:47:00,003 INFO L290 TraceCheckUtils]: 1: Hoare triple {174510#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {174459#true} is VALID [2022-04-27 11:47:00,003 INFO L290 TraceCheckUtils]: 2: Hoare triple {174459#true} assume true; {174459#true} is VALID [2022-04-27 11:47:00,003 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {174459#true} {174459#true} #117#return; {174459#true} is VALID [2022-04-27 11:47:00,003 INFO L272 TraceCheckUtils]: 4: Hoare triple {174459#true} call #t~ret10 := main(); {174459#true} is VALID [2022-04-27 11:47:00,003 INFO L290 TraceCheckUtils]: 5: Hoare triple {174459#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {174459#true} is VALID [2022-04-27 11:47:00,003 INFO L290 TraceCheckUtils]: 6: Hoare triple {174459#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {174459#true} is VALID [2022-04-27 11:47:00,003 INFO L272 TraceCheckUtils]: 7: Hoare triple {174459#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {174459#true} is VALID [2022-04-27 11:47:00,003 INFO L290 TraceCheckUtils]: 8: Hoare triple {174459#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:00,004 INFO L290 TraceCheckUtils]: 9: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:00,004 INFO L290 TraceCheckUtils]: 10: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:00,004 INFO L290 TraceCheckUtils]: 11: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:00,005 INFO L290 TraceCheckUtils]: 12: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:00,005 INFO L290 TraceCheckUtils]: 13: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:00,005 INFO L290 TraceCheckUtils]: 14: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:00,006 INFO L290 TraceCheckUtils]: 15: Hoare triple {174511#(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; {174512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:47:00,006 INFO L290 TraceCheckUtils]: 16: Hoare triple {174512#(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; {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:47:00,007 INFO L290 TraceCheckUtils]: 17: Hoare triple {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:47:00,007 INFO L290 TraceCheckUtils]: 18: Hoare triple {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {174514#(and (<= (+ (* correct_version_~j~0 5) correct_version_~y~0) 10) (<= 10 (+ (* correct_version_~j~0 5) correct_version_~y~0)))} is VALID [2022-04-27 11:47:00,007 INFO L290 TraceCheckUtils]: 19: Hoare triple {174514#(and (<= (+ (* correct_version_~j~0 5) correct_version_~y~0) 10) (<= 10 (+ (* correct_version_~j~0 5) correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {174515#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 10))} is VALID [2022-04-27 11:47:00,008 INFO L290 TraceCheckUtils]: 20: Hoare triple {174515#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 10))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {174516#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 10))} is VALID [2022-04-27 11:47:00,008 INFO L290 TraceCheckUtils]: 21: Hoare triple {174516#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 10))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {174517#(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-27 11:47:00,009 INFO L290 TraceCheckUtils]: 22: Hoare triple {174517#(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; {174518#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 10) (<= 10 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:47:00,009 INFO L290 TraceCheckUtils]: 23: Hoare triple {174518#(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; {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:47:00,010 INFO L290 TraceCheckUtils]: 24: Hoare triple {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:47:00,010 INFO L290 TraceCheckUtils]: 25: Hoare triple {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:47:00,010 INFO L290 TraceCheckUtils]: 26: Hoare triple {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:47:00,011 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {174459#true} #111#return; {174484#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-27 11:47:00,011 INFO L290 TraceCheckUtils]: 28: Hoare triple {174484#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {174485#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} is VALID [2022-04-27 11:47:00,011 INFO L272 TraceCheckUtils]: 29: Hoare triple {174485#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {174459#true} is VALID [2022-04-27 11:47:00,012 INFO L290 TraceCheckUtils]: 30: Hoare triple {174459#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:00,012 INFO L290 TraceCheckUtils]: 31: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:00,013 INFO L290 TraceCheckUtils]: 32: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:00,013 INFO L290 TraceCheckUtils]: 33: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:00,013 INFO L290 TraceCheckUtils]: 34: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:00,014 INFO L290 TraceCheckUtils]: 35: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:00,014 INFO L290 TraceCheckUtils]: 36: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:00,014 INFO L290 TraceCheckUtils]: 37: Hoare triple {174521#(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; {174522#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:47:00,015 INFO L290 TraceCheckUtils]: 38: Hoare triple {174522#(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; {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:47:00,015 INFO L290 TraceCheckUtils]: 39: Hoare triple {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:47:00,015 INFO L290 TraceCheckUtils]: 40: Hoare triple {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {174524#(and (<= 10 (+ student_version_~y~1 (* 5 student_version_~j~1))) (<= (+ student_version_~y~1 (* 5 student_version_~j~1)) 10))} is VALID [2022-04-27 11:47:00,016 INFO L290 TraceCheckUtils]: 41: Hoare triple {174524#(and (<= 10 (+ student_version_~y~1 (* 5 student_version_~j~1))) (<= (+ student_version_~y~1 (* 5 student_version_~j~1)) 10))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {174525#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 10) (<= 10 (+ (* student_version_~j~1 4) student_version_~y~1)))} is VALID [2022-04-27 11:47:00,016 INFO L290 TraceCheckUtils]: 42: Hoare triple {174525#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 10) (<= 10 (+ (* 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; {174526#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 10) (<= 10 (+ student_version_~y~1 (* 3 student_version_~j~1))))} is VALID [2022-04-27 11:47:00,017 INFO L290 TraceCheckUtils]: 43: Hoare triple {174526#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 10) (<= 10 (+ 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; {174527#(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-27 11:47:00,017 INFO L290 TraceCheckUtils]: 44: Hoare triple {174527#(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; {174528#(and (<= 10 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 10))} is VALID [2022-04-27 11:47:00,018 INFO L290 TraceCheckUtils]: 45: Hoare triple {174528#(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; {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:47:00,018 INFO L290 TraceCheckUtils]: 46: Hoare triple {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:47:00,019 INFO L290 TraceCheckUtils]: 47: Hoare triple {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:47:00,019 INFO L290 TraceCheckUtils]: 48: Hoare triple {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:47:00,020 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {174485#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {174506#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:47:00,020 INFO L290 TraceCheckUtils]: 50: Hoare triple {174506#(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; {174507#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:47:00,021 INFO L272 TraceCheckUtils]: 51: Hoare triple {174507#(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)); {174508#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:47:00,021 INFO L290 TraceCheckUtils]: 52: Hoare triple {174508#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {174509#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:47:00,021 INFO L290 TraceCheckUtils]: 53: Hoare triple {174509#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {174460#false} is VALID [2022-04-27 11:47:00,021 INFO L290 TraceCheckUtils]: 54: Hoare triple {174460#false} assume !false; {174460#false} is VALID [2022-04-27 11:47:00,021 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-27 11:47:00,021 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:47:00,021 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [922623717] [2022-04-27 11:47:00,022 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [922623717] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:47:00,022 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1362319227] [2022-04-27 11:47:00,022 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:47:00,022 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:47:00,022 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:47:00,023 INFO L229 MonitoredProcess]: Starting monitored process 76 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:47:00,024 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (76)] Waiting until timeout for monitored process [2022-04-27 11:47:00,121 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 11:47:00,121 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:47:00,122 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-27 11:47:00,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:47:00,132 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:47:01,023 INFO L272 TraceCheckUtils]: 0: Hoare triple {174459#true} call ULTIMATE.init(); {174459#true} is VALID [2022-04-27 11:47:01,023 INFO L290 TraceCheckUtils]: 1: Hoare triple {174459#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {174459#true} is VALID [2022-04-27 11:47:01,023 INFO L290 TraceCheckUtils]: 2: Hoare triple {174459#true} assume true; {174459#true} is VALID [2022-04-27 11:47:01,023 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {174459#true} {174459#true} #117#return; {174459#true} is VALID [2022-04-27 11:47:01,024 INFO L272 TraceCheckUtils]: 4: Hoare triple {174459#true} call #t~ret10 := main(); {174459#true} is VALID [2022-04-27 11:47:01,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {174459#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {174459#true} is VALID [2022-04-27 11:47:01,024 INFO L290 TraceCheckUtils]: 6: Hoare triple {174459#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {174459#true} is VALID [2022-04-27 11:47:01,024 INFO L272 TraceCheckUtils]: 7: Hoare triple {174459#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {174459#true} is VALID [2022-04-27 11:47:01,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {174459#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:01,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:01,025 INFO L290 TraceCheckUtils]: 10: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:01,025 INFO L290 TraceCheckUtils]: 11: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:01,025 INFO L290 TraceCheckUtils]: 12: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:01,025 INFO L290 TraceCheckUtils]: 13: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:01,026 INFO L290 TraceCheckUtils]: 14: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:01,026 INFO L290 TraceCheckUtils]: 15: Hoare triple {174511#(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; {174512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:47:01,027 INFO L290 TraceCheckUtils]: 16: Hoare triple {174512#(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; {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:47:01,027 INFO L290 TraceCheckUtils]: 17: Hoare triple {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:47:01,027 INFO L290 TraceCheckUtils]: 18: Hoare triple {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {174588#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 0))} is VALID [2022-04-27 11:47:01,027 INFO L290 TraceCheckUtils]: 19: Hoare triple {174588#(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; {174592#(and (<= 2 correct_version_~j~0) (= correct_version_~j~0 correct_version_~y~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:47:01,028 INFO L290 TraceCheckUtils]: 20: Hoare triple {174592#(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; {174596#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 (* correct_version_~j~0 2)))} is VALID [2022-04-27 11:47:01,028 INFO L290 TraceCheckUtils]: 21: Hoare triple {174596#(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; {174600#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= correct_version_~y~0 (* correct_version_~j~0 3)))} is VALID [2022-04-27 11:47:01,029 INFO L290 TraceCheckUtils]: 22: Hoare triple {174600#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= 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; {174604#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= (* correct_version_~j~0 3) (+ correct_version_~y~0 (* (- 1) correct_version_~j~0))))} is VALID [2022-04-27 11:47:01,029 INFO L290 TraceCheckUtils]: 23: Hoare triple {174604#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2) (= (* correct_version_~j~0 3) (+ correct_version_~y~0 (* (- 1) correct_version_~j~0))))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:47:01,029 INFO L290 TraceCheckUtils]: 24: Hoare triple {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:47:01,030 INFO L290 TraceCheckUtils]: 25: Hoare triple {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:47:01,030 INFO L290 TraceCheckUtils]: 26: Hoare triple {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:47:01,030 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {174459#true} #111#return; {174484#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-27 11:47:01,031 INFO L290 TraceCheckUtils]: 28: Hoare triple {174484#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {174485#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} is VALID [2022-04-27 11:47:01,031 INFO L272 TraceCheckUtils]: 29: Hoare triple {174485#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {174459#true} is VALID [2022-04-27 11:47:01,031 INFO L290 TraceCheckUtils]: 30: Hoare triple {174459#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:01,031 INFO L290 TraceCheckUtils]: 31: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:01,032 INFO L290 TraceCheckUtils]: 32: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:01,032 INFO L290 TraceCheckUtils]: 33: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:01,032 INFO L290 TraceCheckUtils]: 34: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:01,032 INFO L290 TraceCheckUtils]: 35: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:01,033 INFO L290 TraceCheckUtils]: 36: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:01,033 INFO L290 TraceCheckUtils]: 37: Hoare triple {174521#(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; {174522#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:47:01,033 INFO L290 TraceCheckUtils]: 38: Hoare triple {174522#(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; {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:47:01,034 INFO L290 TraceCheckUtils]: 39: Hoare triple {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:47:01,034 INFO L290 TraceCheckUtils]: 40: Hoare triple {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {174659#(and (= student_version_~y~1 0) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:47:01,034 INFO L290 TraceCheckUtils]: 41: Hoare triple {174659#(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; {174663#(and (<= student_version_~j~1 2) (= student_version_~j~1 student_version_~y~1) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:47:01,035 INFO L290 TraceCheckUtils]: 42: Hoare triple {174663#(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; {174667#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) student_version_~j~1))} is VALID [2022-04-27 11:47:01,035 INFO L290 TraceCheckUtils]: 43: Hoare triple {174667#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {174671#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1) (= student_version_~y~1 (* 3 student_version_~j~1)))} is VALID [2022-04-27 11:47:01,036 INFO L290 TraceCheckUtils]: 44: Hoare triple {174671#(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; {174675#(and (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) (* 3 student_version_~j~1)) (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:47:01,036 INFO L290 TraceCheckUtils]: 45: Hoare triple {174675#(and (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) (* 3 student_version_~j~1)) (<= 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; {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:47:01,036 INFO L290 TraceCheckUtils]: 46: Hoare triple {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:47:01,037 INFO L290 TraceCheckUtils]: 47: Hoare triple {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:47:01,037 INFO L290 TraceCheckUtils]: 48: Hoare triple {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:47:01,037 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {174485#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {174691#(and (<= 10 main_~n_stones1~0) (<= 10 |main_#t~ret9|) (<= main_~n_stones1~0 10) (<= |main_#t~ret9| 10))} is VALID [2022-04-27 11:47:01,038 INFO L290 TraceCheckUtils]: 50: Hoare triple {174691#(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; {174695#(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-27 11:47:01,038 INFO L272 TraceCheckUtils]: 51: Hoare triple {174695#(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)); {174699#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:47:01,038 INFO L290 TraceCheckUtils]: 52: Hoare triple {174699#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {174703#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:47:01,039 INFO L290 TraceCheckUtils]: 53: Hoare triple {174703#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {174460#false} is VALID [2022-04-27 11:47:01,039 INFO L290 TraceCheckUtils]: 54: Hoare triple {174460#false} assume !false; {174460#false} is VALID [2022-04-27 11:47:01,039 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-27 11:47:01,039 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:47:01,366 INFO L290 TraceCheckUtils]: 54: Hoare triple {174460#false} assume !false; {174460#false} is VALID [2022-04-27 11:47:01,366 INFO L290 TraceCheckUtils]: 53: Hoare triple {174703#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {174460#false} is VALID [2022-04-27 11:47:01,367 INFO L290 TraceCheckUtils]: 52: Hoare triple {174699#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {174703#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:47:01,367 INFO L272 TraceCheckUtils]: 51: Hoare triple {174507#(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)); {174699#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:47:01,367 INFO L290 TraceCheckUtils]: 50: Hoare triple {174506#(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; {174507#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:47:01,368 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} {174485#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} #113#return; {174506#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:47:01,368 INFO L290 TraceCheckUtils]: 48: Hoare triple {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} assume true; {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:47:01,368 INFO L290 TraceCheckUtils]: 47: Hoare triple {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} #res := ~y~1; {174530#(and (<= 10 |student_version_#res|) (<= |student_version_#res| 10))} is VALID [2022-04-27 11:47:01,369 INFO L290 TraceCheckUtils]: 46: Hoare triple {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} assume !(~x~1 < ~i~1); {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:47:01,369 INFO L290 TraceCheckUtils]: 45: Hoare triple {174528#(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; {174529#(and (<= student_version_~y~1 10) (<= 10 student_version_~y~1))} is VALID [2022-04-27 11:47:01,369 INFO L290 TraceCheckUtils]: 44: Hoare triple {174527#(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; {174528#(and (<= 10 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 10))} is VALID [2022-04-27 11:47:01,370 INFO L290 TraceCheckUtils]: 43: Hoare triple {174526#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 10) (<= 10 (+ 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; {174527#(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-27 11:47:01,370 INFO L290 TraceCheckUtils]: 42: Hoare triple {174525#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 10) (<= 10 (+ (* 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; {174526#(and (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 10) (<= 10 (+ student_version_~y~1 (* 3 student_version_~j~1))))} is VALID [2022-04-27 11:47:01,371 INFO L290 TraceCheckUtils]: 41: Hoare triple {174524#(and (<= 10 (+ student_version_~y~1 (* 5 student_version_~j~1))) (<= (+ student_version_~y~1 (* 5 student_version_~j~1)) 10))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {174525#(and (<= (+ (* student_version_~j~1 4) student_version_~y~1) 10) (<= 10 (+ (* student_version_~j~1 4) student_version_~y~1)))} is VALID [2022-04-27 11:47:01,371 INFO L290 TraceCheckUtils]: 40: Hoare triple {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {174524#(and (<= 10 (+ student_version_~y~1 (* 5 student_version_~j~1))) (<= (+ student_version_~y~1 (* 5 student_version_~j~1)) 10))} is VALID [2022-04-27 11:47:01,371 INFO L290 TraceCheckUtils]: 39: Hoare triple {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} assume !(~l~1 < ~m); {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:47:01,371 INFO L290 TraceCheckUtils]: 38: Hoare triple {174522#(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; {174523#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:47:01,372 INFO L290 TraceCheckUtils]: 37: Hoare triple {174521#(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; {174522#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:47:01,372 INFO L290 TraceCheckUtils]: 36: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:01,372 INFO L290 TraceCheckUtils]: 35: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:01,373 INFO L290 TraceCheckUtils]: 34: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:01,373 INFO L290 TraceCheckUtils]: 33: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:01,373 INFO L290 TraceCheckUtils]: 32: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:01,373 INFO L290 TraceCheckUtils]: 31: Hoare triple {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:01,374 INFO L290 TraceCheckUtils]: 30: Hoare triple {174459#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {174521#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:47:01,374 INFO L272 TraceCheckUtils]: 29: Hoare triple {174485#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {174459#true} is VALID [2022-04-27 11:47:01,374 INFO L290 TraceCheckUtils]: 28: Hoare triple {174484#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {174485#(and (<= 10 main_~n_stones1~0) (<= main_~n_stones1~0 10))} is VALID [2022-04-27 11:47:01,374 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} {174459#true} #111#return; {174484#(and (<= 10 |main_#t~ret8|) (<= |main_#t~ret8| 10))} is VALID [2022-04-27 11:47:01,374 INFO L290 TraceCheckUtils]: 26: Hoare triple {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} assume true; {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:47:01,375 INFO L290 TraceCheckUtils]: 25: Hoare triple {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} #res := ~y~0; {174520#(and (<= 10 |correct_version_#res|) (<= |correct_version_#res| 10))} is VALID [2022-04-27 11:47:01,375 INFO L290 TraceCheckUtils]: 24: Hoare triple {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} assume !(~x~0 < ~i~0); {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:47:01,375 INFO L290 TraceCheckUtils]: 23: Hoare triple {174518#(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; {174519#(and (<= 10 correct_version_~y~0) (<= correct_version_~y~0 10))} is VALID [2022-04-27 11:47:01,376 INFO L290 TraceCheckUtils]: 22: Hoare triple {174517#(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; {174518#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 10) (<= 10 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:47:01,376 INFO L290 TraceCheckUtils]: 21: Hoare triple {174516#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 10))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {174517#(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-27 11:47:01,376 INFO L290 TraceCheckUtils]: 20: Hoare triple {174515#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 10))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {174516#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 10))} is VALID [2022-04-27 11:47:01,377 INFO L290 TraceCheckUtils]: 19: Hoare triple {174514#(and (<= (+ (* correct_version_~j~0 5) correct_version_~y~0) 10) (<= 10 (+ (* correct_version_~j~0 5) correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {174515#(and (<= 10 (+ correct_version_~y~0 (* correct_version_~j~0 4))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 10))} is VALID [2022-04-27 11:47:01,377 INFO L290 TraceCheckUtils]: 18: Hoare triple {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} ~x~0 := 0;~y~0 := 0; {174514#(and (<= (+ (* correct_version_~j~0 5) correct_version_~y~0) 10) (<= 10 (+ (* correct_version_~j~0 5) correct_version_~y~0)))} is VALID [2022-04-27 11:47:01,377 INFO L290 TraceCheckUtils]: 17: Hoare triple {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} assume !(~l~0 < ~m); {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:47:01,378 INFO L290 TraceCheckUtils]: 16: Hoare triple {174512#(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; {174513#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:47:01,378 INFO L290 TraceCheckUtils]: 15: Hoare triple {174511#(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; {174512#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:47:01,378 INFO L290 TraceCheckUtils]: 14: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:01,378 INFO L290 TraceCheckUtils]: 13: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:01,379 INFO L290 TraceCheckUtils]: 12: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:01,379 INFO L290 TraceCheckUtils]: 11: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:01,379 INFO L290 TraceCheckUtils]: 10: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:01,379 INFO L290 TraceCheckUtils]: 9: Hoare triple {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:01,380 INFO L290 TraceCheckUtils]: 8: Hoare triple {174459#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {174511#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:47:01,380 INFO L272 TraceCheckUtils]: 7: Hoare triple {174459#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {174459#true} is VALID [2022-04-27 11:47:01,380 INFO L290 TraceCheckUtils]: 6: Hoare triple {174459#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {174459#true} is VALID [2022-04-27 11:47:01,380 INFO L290 TraceCheckUtils]: 5: Hoare triple {174459#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {174459#true} is VALID [2022-04-27 11:47:01,380 INFO L272 TraceCheckUtils]: 4: Hoare triple {174459#true} call #t~ret10 := main(); {174459#true} is VALID [2022-04-27 11:47:01,380 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {174459#true} {174459#true} #117#return; {174459#true} is VALID [2022-04-27 11:47:01,380 INFO L290 TraceCheckUtils]: 2: Hoare triple {174459#true} assume true; {174459#true} is VALID [2022-04-27 11:47:01,380 INFO L290 TraceCheckUtils]: 1: Hoare triple {174459#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {174459#true} is VALID [2022-04-27 11:47:01,380 INFO L272 TraceCheckUtils]: 0: Hoare triple {174459#true} call ULTIMATE.init(); {174459#true} is VALID [2022-04-27 11:47:01,380 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-27 11:47:01,380 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1362319227] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:47:01,381 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:47:01,381 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 43 [2022-04-27 11:47:01,381 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [225244558] [2022-04-27 11:47:01,381 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:47:01,381 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 55 [2022-04-27 11:47:01,381 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:47:01,381 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:47:01,409 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:47:01,409 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 43 states [2022-04-27 11:47:01,409 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:47:01,410 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2022-04-27 11:47:01,410 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=109, Invalid=1697, Unknown=0, NotChecked=0, Total=1806 [2022-04-27 11:47:01,410 INFO L87 Difference]: Start difference. First operand 851 states and 962 transitions. Second operand has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:47:10,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:47:10,984 INFO L93 Difference]: Finished difference Result 869 states and 984 transitions. [2022-04-27 11:47:10,984 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-27 11:47:10,984 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 55 [2022-04-27 11:47:10,984 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:47:10,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:47:10,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 102 transitions. [2022-04-27 11:47:10,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:47:10,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 102 transitions. [2022-04-27 11:47:10,986 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 102 transitions. [2022-04-27 11:47:11,034 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-27 11:47:11,072 INFO L225 Difference]: With dead ends: 869 [2022-04-27 11:47:11,072 INFO L226 Difference]: Without dead ends: 851 [2022-04-27 11:47:11,076 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 169 GetRequests, 92 SyntacticMatches, 9 SemanticMatches, 68 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 846 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=273, Invalid=4557, Unknown=0, NotChecked=0, Total=4830 [2022-04-27 11:47:11,076 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 79 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 1819 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 81 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 1855 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 1819 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-27 11:47:11,076 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [81 Valid, 178 Invalid, 1855 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 1819 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-27 11:47:11,077 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 851 states. [2022-04-27 11:47:16,405 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 851 to 846. [2022-04-27 11:47:16,405 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:47:16,406 INFO L82 GeneralOperation]: Start isEquivalent. First operand 851 states. Second operand has 846 states, 738 states have (on average 1.1382113821138211) internal successors, (840), 804 states have internal predecessors, (840), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (80), 36 states have call predecessors, (80), 36 states have call successors, (80) [2022-04-27 11:47:16,406 INFO L74 IsIncluded]: Start isIncluded. First operand 851 states. Second operand has 846 states, 738 states have (on average 1.1382113821138211) internal successors, (840), 804 states have internal predecessors, (840), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (80), 36 states have call predecessors, (80), 36 states have call successors, (80) [2022-04-27 11:47:16,406 INFO L87 Difference]: Start difference. First operand 851 states. Second operand has 846 states, 738 states have (on average 1.1382113821138211) internal successors, (840), 804 states have internal predecessors, (840), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (80), 36 states have call predecessors, (80), 36 states have call successors, (80) [2022-04-27 11:47:16,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:47:16,432 INFO L93 Difference]: Finished difference Result 851 states and 963 transitions. [2022-04-27 11:47:16,432 INFO L276 IsEmpty]: Start isEmpty. Operand 851 states and 963 transitions. [2022-04-27 11:47:16,436 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:47:16,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:47:16,437 INFO L74 IsIncluded]: Start isIncluded. First operand has 846 states, 738 states have (on average 1.1382113821138211) internal successors, (840), 804 states have internal predecessors, (840), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (80), 36 states have call predecessors, (80), 36 states have call successors, (80) Second operand 851 states. [2022-04-27 11:47:16,438 INFO L87 Difference]: Start difference. First operand has 846 states, 738 states have (on average 1.1382113821138211) internal successors, (840), 804 states have internal predecessors, (840), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (80), 36 states have call predecessors, (80), 36 states have call successors, (80) Second operand 851 states. [2022-04-27 11:47:16,463 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:47:16,463 INFO L93 Difference]: Finished difference Result 851 states and 963 transitions. [2022-04-27 11:47:16,463 INFO L276 IsEmpty]: Start isEmpty. Operand 851 states and 963 transitions. [2022-04-27 11:47:16,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:47:16,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:47:16,468 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:47:16,468 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:47:16,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 846 states, 738 states have (on average 1.1382113821138211) internal successors, (840), 804 states have internal predecessors, (840), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (80), 36 states have call predecessors, (80), 36 states have call successors, (80) [2022-04-27 11:47:16,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 846 states to 846 states and 958 transitions. [2022-04-27 11:47:16,501 INFO L78 Accepts]: Start accepts. Automaton has 846 states and 958 transitions. Word has length 55 [2022-04-27 11:47:16,501 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:47:16,502 INFO L495 AbstractCegarLoop]: Abstraction has 846 states and 958 transitions. [2022-04-27 11:47:16,502 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 43 states, 40 states have (on average 1.375) internal successors, (55), 37 states have internal predecessors, (55), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:47:16,502 INFO L276 IsEmpty]: Start isEmpty. Operand 846 states and 958 transitions. [2022-04-27 11:47:16,509 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 11:47:16,509 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:47:16,509 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 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] [2022-04-27 11:47:16,525 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (76)] Ended with exit code 0 [2022-04-27 11:47:16,723 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 76 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable84 [2022-04-27 11:47:16,723 INFO L420 AbstractCegarLoop]: === Iteration 86 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:47:16,724 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:47:16,724 INFO L85 PathProgramCache]: Analyzing trace with hash -77183301, now seen corresponding path program 76 times [2022-04-27 11:47:16,724 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:47:16,724 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [682088282] [2022-04-27 11:47:16,724 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:47:16,724 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:47:16,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:47:16,763 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:47:16,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:47:16,764 INFO L290 TraceCheckUtils]: 0: Hoare triple {179204#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {179158#true} is VALID [2022-04-27 11:47:16,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {179158#true} assume true; {179158#true} is VALID [2022-04-27 11:47:16,764 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {179158#true} {179158#true} #117#return; {179158#true} is VALID [2022-04-27 11:47:16,765 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:47:16,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:47:16,874 INFO L290 TraceCheckUtils]: 0: Hoare triple {179158#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {179205#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:47:16,874 INFO L290 TraceCheckUtils]: 1: Hoare triple {179205#(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; {179206#(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-27 11:47:16,875 INFO L290 TraceCheckUtils]: 2: Hoare triple {179206#(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; {179207#(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-27 11:47:16,875 INFO L290 TraceCheckUtils]: 3: Hoare triple {179207#(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; {179208#(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-27 11:47:16,876 INFO L290 TraceCheckUtils]: 4: Hoare triple {179208#(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; {179209#(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-27 11:47:16,876 INFO L290 TraceCheckUtils]: 5: Hoare triple {179209#(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; {179210#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 5 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:47:16,876 INFO L290 TraceCheckUtils]: 6: Hoare triple {179210#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 5 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; {179211#(and (= |correct_version_#in~n| correct_version_~n) (<= (+ (* 5 correct_version_~a) 1) correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:47:16,877 INFO L290 TraceCheckUtils]: 7: Hoare triple {179211#(and (= |correct_version_#in~n| correct_version_~n) (<= (+ (* 5 correct_version_~a) 1) correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {179212#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 5 correct_version_~a) 1) |correct_version_#in~n|))} is VALID [2022-04-27 11:47:16,877 INFO L290 TraceCheckUtils]: 8: Hoare triple {179212#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 5 correct_version_~a) 1) |correct_version_#in~n|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,877 INFO L290 TraceCheckUtils]: 9: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,877 INFO L290 TraceCheckUtils]: 10: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,877 INFO L290 TraceCheckUtils]: 11: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,878 INFO L290 TraceCheckUtils]: 12: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,878 INFO L290 TraceCheckUtils]: 13: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,878 INFO L290 TraceCheckUtils]: 14: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,878 INFO L290 TraceCheckUtils]: 15: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,878 INFO L290 TraceCheckUtils]: 16: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,878 INFO L290 TraceCheckUtils]: 17: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,879 INFO L290 TraceCheckUtils]: 18: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,879 INFO L290 TraceCheckUtils]: 19: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,879 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {179158#true} #111#return; {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} is VALID [2022-04-27 11:47:16,879 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-27 11:47:16,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:47:16,977 INFO L290 TraceCheckUtils]: 0: Hoare triple {179158#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {179214#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:47:16,978 INFO L290 TraceCheckUtils]: 1: Hoare triple {179214#(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; {179215#(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-27 11:47:16,978 INFO L290 TraceCheckUtils]: 2: Hoare triple {179215#(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; {179216#(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-27 11:47:16,979 INFO L290 TraceCheckUtils]: 3: Hoare triple {179216#(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; {179217#(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-27 11:47:16,979 INFO L290 TraceCheckUtils]: 4: Hoare triple {179217#(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; {179218#(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-27 11:47:16,980 INFO L290 TraceCheckUtils]: 5: Hoare triple {179218#(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);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {179219#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 5 student_version_~a)) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:47:16,980 INFO L290 TraceCheckUtils]: 6: Hoare triple {179219#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 5 student_version_~a)) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {179220#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 5 student_version_~a)))} is VALID [2022-04-27 11:47:16,980 INFO L290 TraceCheckUtils]: 7: Hoare triple {179220#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 5 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,980 INFO L290 TraceCheckUtils]: 8: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !(~l~1 < ~m); {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,981 INFO L290 TraceCheckUtils]: 10: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,981 INFO L290 TraceCheckUtils]: 11: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,981 INFO L290 TraceCheckUtils]: 12: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,981 INFO L290 TraceCheckUtils]: 13: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,981 INFO L290 TraceCheckUtils]: 14: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,982 INFO L290 TraceCheckUtils]: 15: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,982 INFO L290 TraceCheckUtils]: 16: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} #res := ~y~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,982 INFO L290 TraceCheckUtils]: 17: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume true; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,982 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} #113#return; {179159#false} is VALID [2022-04-27 11:47:16,983 INFO L272 TraceCheckUtils]: 0: Hoare triple {179158#true} call ULTIMATE.init(); {179204#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:47:16,983 INFO L290 TraceCheckUtils]: 1: Hoare triple {179204#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {179158#true} is VALID [2022-04-27 11:47:16,983 INFO L290 TraceCheckUtils]: 2: Hoare triple {179158#true} assume true; {179158#true} is VALID [2022-04-27 11:47:16,983 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {179158#true} {179158#true} #117#return; {179158#true} is VALID [2022-04-27 11:47:16,983 INFO L272 TraceCheckUtils]: 4: Hoare triple {179158#true} call #t~ret10 := main(); {179158#true} is VALID [2022-04-27 11:47:16,983 INFO L290 TraceCheckUtils]: 5: Hoare triple {179158#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {179158#true} is VALID [2022-04-27 11:47:16,983 INFO L290 TraceCheckUtils]: 6: Hoare triple {179158#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {179158#true} is VALID [2022-04-27 11:47:16,983 INFO L272 TraceCheckUtils]: 7: Hoare triple {179158#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {179158#true} is VALID [2022-04-27 11:47:16,983 INFO L290 TraceCheckUtils]: 8: Hoare triple {179158#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {179205#(and (= |correct_version_#in~n| correct_version_~n) (<= 0 correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:47:16,984 INFO L290 TraceCheckUtils]: 9: Hoare triple {179205#(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; {179206#(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-27 11:47:16,984 INFO L290 TraceCheckUtils]: 10: Hoare triple {179206#(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; {179207#(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-27 11:47:16,985 INFO L290 TraceCheckUtils]: 11: Hoare triple {179207#(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; {179208#(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-27 11:47:16,985 INFO L290 TraceCheckUtils]: 12: Hoare triple {179208#(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; {179209#(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-27 11:47:16,985 INFO L290 TraceCheckUtils]: 13: Hoare triple {179209#(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; {179210#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 5 correct_version_~a) correct_version_~b~0) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:47:16,986 INFO L290 TraceCheckUtils]: 14: Hoare triple {179210#(and (= |correct_version_#in~n| correct_version_~n) (<= (* 5 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; {179211#(and (= |correct_version_#in~n| correct_version_~n) (<= (+ (* 5 correct_version_~a) 1) correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:47:16,986 INFO L290 TraceCheckUtils]: 15: Hoare triple {179211#(and (= |correct_version_#in~n| correct_version_~n) (<= (+ (* 5 correct_version_~a) 1) correct_version_~n) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {179212#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 5 correct_version_~a) 1) |correct_version_#in~n|))} is VALID [2022-04-27 11:47:16,986 INFO L290 TraceCheckUtils]: 16: Hoare triple {179212#(and (= |correct_version_#in~a| correct_version_~a) (<= (+ (* 5 correct_version_~a) 1) |correct_version_#in~n|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,986 INFO L290 TraceCheckUtils]: 17: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,987 INFO L290 TraceCheckUtils]: 18: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,987 INFO L290 TraceCheckUtils]: 19: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,987 INFO L290 TraceCheckUtils]: 20: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,987 INFO L290 TraceCheckUtils]: 21: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,987 INFO L290 TraceCheckUtils]: 22: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,987 INFO L290 TraceCheckUtils]: 23: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,988 INFO L290 TraceCheckUtils]: 24: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,988 INFO L290 TraceCheckUtils]: 25: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,988 INFO L290 TraceCheckUtils]: 26: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,988 INFO L290 TraceCheckUtils]: 27: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:16,989 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {179158#true} #111#return; {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} is VALID [2022-04-27 11:47:16,989 INFO L290 TraceCheckUtils]: 29: Hoare triple {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} is VALID [2022-04-27 11:47:16,989 INFO L272 TraceCheckUtils]: 30: Hoare triple {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {179158#true} is VALID [2022-04-27 11:47:16,989 INFO L290 TraceCheckUtils]: 31: Hoare triple {179158#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {179214#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 0) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:47:16,989 INFO L290 TraceCheckUtils]: 32: Hoare triple {179214#(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; {179215#(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-27 11:47:16,990 INFO L290 TraceCheckUtils]: 33: Hoare triple {179215#(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; {179216#(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-27 11:47:16,990 INFO L290 TraceCheckUtils]: 34: Hoare triple {179216#(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; {179217#(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-27 11:47:16,991 INFO L290 TraceCheckUtils]: 35: Hoare triple {179217#(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; {179218#(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-27 11:47:16,991 INFO L290 TraceCheckUtils]: 36: Hoare triple {179218#(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);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {179219#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 5 student_version_~a)) (= |student_version_#in~n| student_version_~n))} is VALID [2022-04-27 11:47:16,991 INFO L290 TraceCheckUtils]: 37: Hoare triple {179219#(and (= |student_version_#in~a| student_version_~a) (<= student_version_~b~1 (* 5 student_version_~a)) (= |student_version_#in~n| student_version_~n))} assume !(~b~1 < ~n); {179220#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 5 student_version_~a)))} is VALID [2022-04-27 11:47:16,991 INFO L290 TraceCheckUtils]: 38: Hoare triple {179220#(and (= |student_version_#in~a| student_version_~a) (<= |student_version_#in~n| (* 5 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,992 INFO L290 TraceCheckUtils]: 39: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !(~l~1 < ~m); {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,992 INFO L290 TraceCheckUtils]: 40: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,992 INFO L290 TraceCheckUtils]: 41: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,992 INFO L290 TraceCheckUtils]: 42: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,992 INFO L290 TraceCheckUtils]: 43: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,992 INFO L290 TraceCheckUtils]: 44: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,993 INFO L290 TraceCheckUtils]: 45: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,993 INFO L290 TraceCheckUtils]: 46: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,993 INFO L290 TraceCheckUtils]: 47: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} #res := ~y~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,993 INFO L290 TraceCheckUtils]: 48: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume true; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:16,994 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} #113#return; {179159#false} is VALID [2022-04-27 11:47:16,994 INFO L290 TraceCheckUtils]: 50: Hoare triple {179159#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {179159#false} is VALID [2022-04-27 11:47:16,994 INFO L272 TraceCheckUtils]: 51: Hoare triple {179159#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {179159#false} is VALID [2022-04-27 11:47:16,994 INFO L290 TraceCheckUtils]: 52: Hoare triple {179159#false} ~cond := #in~cond; {179159#false} is VALID [2022-04-27 11:47:16,994 INFO L290 TraceCheckUtils]: 53: Hoare triple {179159#false} assume 0 == ~cond; {179159#false} is VALID [2022-04-27 11:47:16,994 INFO L290 TraceCheckUtils]: 54: Hoare triple {179159#false} assume !false; {179159#false} is VALID [2022-04-27 11:47:16,994 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 0 proven. 38 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-27 11:47:16,994 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:47:16,994 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [682088282] [2022-04-27 11:47:16,994 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [682088282] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:47:16,994 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [442336101] [2022-04-27 11:47:16,994 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 11:47:16,995 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:47:16,995 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:47:16,996 INFO L229 MonitoredProcess]: Starting monitored process 77 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:47:16,997 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (77)] Waiting until timeout for monitored process [2022-04-27 11:47:17,107 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 11:47:17,107 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:47:17,109 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-27 11:47:17,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:47:17,121 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:47:17,925 INFO L272 TraceCheckUtils]: 0: Hoare triple {179158#true} call ULTIMATE.init(); {179158#true} is VALID [2022-04-27 11:47:17,926 INFO L290 TraceCheckUtils]: 1: Hoare triple {179158#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {179158#true} is VALID [2022-04-27 11:47:17,926 INFO L290 TraceCheckUtils]: 2: Hoare triple {179158#true} assume true; {179158#true} is VALID [2022-04-27 11:47:17,926 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {179158#true} {179158#true} #117#return; {179158#true} is VALID [2022-04-27 11:47:17,926 INFO L272 TraceCheckUtils]: 4: Hoare triple {179158#true} call #t~ret10 := main(); {179158#true} is VALID [2022-04-27 11:47:17,926 INFO L290 TraceCheckUtils]: 5: Hoare triple {179158#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {179158#true} is VALID [2022-04-27 11:47:17,926 INFO L290 TraceCheckUtils]: 6: Hoare triple {179158#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {179158#true} is VALID [2022-04-27 11:47:17,926 INFO L272 TraceCheckUtils]: 7: Hoare triple {179158#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {179158#true} is VALID [2022-04-27 11:47:17,926 INFO L290 TraceCheckUtils]: 8: Hoare triple {179158#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {179249#(and (<= correct_version_~n |correct_version_#in~n|) (<= 0 correct_version_~b~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:47:17,927 INFO L290 TraceCheckUtils]: 9: Hoare triple {179249#(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; {179253#(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-27 11:47:17,927 INFO L290 TraceCheckUtils]: 10: Hoare triple {179253#(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; {179257#(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-27 11:47:17,928 INFO L290 TraceCheckUtils]: 11: Hoare triple {179257#(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; {179261#(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-27 11:47:17,928 INFO L290 TraceCheckUtils]: 12: Hoare triple {179261#(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; {179265#(and (<= (* 4 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-27 11:47:17,929 INFO L290 TraceCheckUtils]: 13: Hoare triple {179265#(and (<= (* 4 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; {179269#(and (<= correct_version_~n |correct_version_#in~n|) (<= |correct_version_#in~a| (div correct_version_~b~0 5)))} is VALID [2022-04-27 11:47:17,929 INFO L290 TraceCheckUtils]: 14: Hoare triple {179269#(and (<= correct_version_~n |correct_version_#in~n|) (<= |correct_version_#in~a| (div correct_version_~b~0 5)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:17,930 INFO L290 TraceCheckUtils]: 15: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:17,930 INFO L290 TraceCheckUtils]: 16: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:17,930 INFO L290 TraceCheckUtils]: 17: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:17,930 INFO L290 TraceCheckUtils]: 18: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:17,931 INFO L290 TraceCheckUtils]: 19: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:17,931 INFO L290 TraceCheckUtils]: 20: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:17,931 INFO L290 TraceCheckUtils]: 21: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:17,931 INFO L290 TraceCheckUtils]: 22: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:17,931 INFO L290 TraceCheckUtils]: 23: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:17,932 INFO L290 TraceCheckUtils]: 24: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:17,932 INFO L290 TraceCheckUtils]: 25: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:17,932 INFO L290 TraceCheckUtils]: 26: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:17,932 INFO L290 TraceCheckUtils]: 27: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:17,933 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {179158#true} #111#return; {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} is VALID [2022-04-27 11:47:17,933 INFO L290 TraceCheckUtils]: 29: Hoare triple {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} is VALID [2022-04-27 11:47:17,933 INFO L272 TraceCheckUtils]: 30: Hoare triple {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {179158#true} is VALID [2022-04-27 11:47:17,934 INFO L290 TraceCheckUtils]: 31: Hoare triple {179158#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {179324#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~b~1 0) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:47:17,934 INFO L290 TraceCheckUtils]: 32: Hoare triple {179324#(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; {179328#(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-27 11:47:17,935 INFO L290 TraceCheckUtils]: 33: Hoare triple {179328#(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; {179332#(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-27 11:47:17,935 INFO L290 TraceCheckUtils]: 34: Hoare triple {179332#(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; {179336#(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-27 11:47:17,936 INFO L290 TraceCheckUtils]: 35: Hoare triple {179336#(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; {179340#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~a |student_version_#in~a|) (<= student_version_~b~1 (* student_version_~a 4)))} is VALID [2022-04-27 11:47:17,936 INFO L290 TraceCheckUtils]: 36: Hoare triple {179340#(and (<= |student_version_#in~n| student_version_~n) (<= student_version_~a |student_version_#in~a|) (<= student_version_~b~1 (* student_version_~a 4)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {179344#(and (<= |student_version_#in~n| student_version_~n) (<= (div (- student_version_~b~1) (- 5)) |student_version_#in~a|))} is VALID [2022-04-27 11:47:17,937 INFO L290 TraceCheckUtils]: 37: Hoare triple {179344#(and (<= |student_version_#in~n| student_version_~n) (<= (div (- student_version_~b~1) (- 5)) |student_version_#in~a|))} assume !(~b~1 < ~n); {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:17,937 INFO L290 TraceCheckUtils]: 38: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:17,937 INFO L290 TraceCheckUtils]: 39: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !(~l~1 < ~m); {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:17,937 INFO L290 TraceCheckUtils]: 40: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:17,938 INFO L290 TraceCheckUtils]: 41: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:17,938 INFO L290 TraceCheckUtils]: 42: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:17,938 INFO L290 TraceCheckUtils]: 43: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:17,938 INFO L290 TraceCheckUtils]: 44: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:17,939 INFO L290 TraceCheckUtils]: 45: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:17,939 INFO L290 TraceCheckUtils]: 46: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:17,939 INFO L290 TraceCheckUtils]: 47: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} #res := ~y~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:17,939 INFO L290 TraceCheckUtils]: 48: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume true; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:17,940 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} #113#return; {179159#false} is VALID [2022-04-27 11:47:17,940 INFO L290 TraceCheckUtils]: 50: Hoare triple {179159#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {179159#false} is VALID [2022-04-27 11:47:17,940 INFO L272 TraceCheckUtils]: 51: Hoare triple {179159#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {179159#false} is VALID [2022-04-27 11:47:17,940 INFO L290 TraceCheckUtils]: 52: Hoare triple {179159#false} ~cond := #in~cond; {179159#false} is VALID [2022-04-27 11:47:17,940 INFO L290 TraceCheckUtils]: 53: Hoare triple {179159#false} assume 0 == ~cond; {179159#false} is VALID [2022-04-27 11:47:17,940 INFO L290 TraceCheckUtils]: 54: Hoare triple {179159#false} assume !false; {179159#false} is VALID [2022-04-27 11:47:17,941 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-27 11:47:17,941 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:47:18,969 INFO L290 TraceCheckUtils]: 54: Hoare triple {179159#false} assume !false; {179159#false} is VALID [2022-04-27 11:47:18,969 INFO L290 TraceCheckUtils]: 53: Hoare triple {179159#false} assume 0 == ~cond; {179159#false} is VALID [2022-04-27 11:47:18,969 INFO L290 TraceCheckUtils]: 52: Hoare triple {179159#false} ~cond := #in~cond; {179159#false} is VALID [2022-04-27 11:47:18,969 INFO L272 TraceCheckUtils]: 51: Hoare triple {179159#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {179159#false} is VALID [2022-04-27 11:47:18,969 INFO L290 TraceCheckUtils]: 50: Hoare triple {179159#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {179159#false} is VALID [2022-04-27 11:47:18,970 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} #113#return; {179159#false} is VALID [2022-04-27 11:47:18,970 INFO L290 TraceCheckUtils]: 48: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume true; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:18,970 INFO L290 TraceCheckUtils]: 47: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} #res := ~y~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:18,970 INFO L290 TraceCheckUtils]: 46: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !(~x~1 < ~i~1); {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:18,970 INFO L290 TraceCheckUtils]: 45: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:18,970 INFO L290 TraceCheckUtils]: 44: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:18,970 INFO L290 TraceCheckUtils]: 43: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:18,971 INFO L290 TraceCheckUtils]: 42: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:18,971 INFO L290 TraceCheckUtils]: 41: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:18,971 INFO L290 TraceCheckUtils]: 40: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} ~x~1 := 0;~y~1 := 0; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:18,971 INFO L290 TraceCheckUtils]: 39: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !(~l~1 < ~m); {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:18,971 INFO L290 TraceCheckUtils]: 38: Hoare triple {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:18,972 INFO L290 TraceCheckUtils]: 37: Hoare triple {179453#(or (< student_version_~b~1 student_version_~n) (<= |student_version_#in~n| (* 5 |student_version_#in~a|)))} assume !(~b~1 < ~n); {179221#(<= |student_version_#in~n| (* 5 |student_version_#in~a|))} is VALID [2022-04-27 11:47:18,972 INFO L290 TraceCheckUtils]: 36: Hoare triple {179457#(or (< (+ student_version_~b~1 student_version_~a) student_version_~n) (<= |student_version_#in~n| (* 5 |student_version_#in~a|)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {179453#(or (< student_version_~b~1 student_version_~n) (<= |student_version_#in~n| (* 5 |student_version_#in~a|)))} is VALID [2022-04-27 11:47:18,972 INFO L290 TraceCheckUtils]: 35: Hoare triple {179461#(or (<= |student_version_#in~n| (* 5 |student_version_#in~a|)) (< (+ 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; {179457#(or (< (+ student_version_~b~1 student_version_~a) student_version_~n) (<= |student_version_#in~n| (* 5 |student_version_#in~a|)))} is VALID [2022-04-27 11:47:18,973 INFO L290 TraceCheckUtils]: 34: Hoare triple {179465#(or (< (+ (* 3 student_version_~a) student_version_~b~1) student_version_~n) (<= |student_version_#in~n| (* 5 |student_version_#in~a|)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {179461#(or (<= |student_version_#in~n| (* 5 |student_version_#in~a|)) (< (+ student_version_~b~1 (* 2 student_version_~a)) student_version_~n))} is VALID [2022-04-27 11:47:18,973 INFO L290 TraceCheckUtils]: 33: Hoare triple {179469#(or (< (+ student_version_~b~1 (* student_version_~a 4)) student_version_~n) (<= |student_version_#in~n| (* 5 |student_version_#in~a|)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {179465#(or (< (+ (* 3 student_version_~a) student_version_~b~1) student_version_~n) (<= |student_version_#in~n| (* 5 |student_version_#in~a|)))} is VALID [2022-04-27 11:47:18,974 INFO L290 TraceCheckUtils]: 32: Hoare triple {179473#(or (< (+ (* 5 student_version_~a) student_version_~b~1) student_version_~n) (<= |student_version_#in~n| (* 5 |student_version_#in~a|)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {179469#(or (< (+ student_version_~b~1 (* student_version_~a 4)) student_version_~n) (<= |student_version_#in~n| (* 5 |student_version_#in~a|)))} is VALID [2022-04-27 11:47:18,974 INFO L290 TraceCheckUtils]: 31: Hoare triple {179158#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {179473#(or (< (+ (* 5 student_version_~a) student_version_~b~1) student_version_~n) (<= |student_version_#in~n| (* 5 |student_version_#in~a|)))} is VALID [2022-04-27 11:47:18,974 INFO L272 TraceCheckUtils]: 30: Hoare triple {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {179158#true} is VALID [2022-04-27 11:47:18,974 INFO L290 TraceCheckUtils]: 29: Hoare triple {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} is VALID [2022-04-27 11:47:18,975 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} {179158#true} #111#return; {179184#(<= (+ (* 5 main_~a~0) 1) main_~n~0)} is VALID [2022-04-27 11:47:18,975 INFO L290 TraceCheckUtils]: 27: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume true; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:18,975 INFO L290 TraceCheckUtils]: 26: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} #res := ~y~0; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:18,975 INFO L290 TraceCheckUtils]: 25: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~x~0 < ~i~0); {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:18,975 INFO L290 TraceCheckUtils]: 24: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:18,976 INFO L290 TraceCheckUtils]: 23: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:18,976 INFO L290 TraceCheckUtils]: 22: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:18,976 INFO L290 TraceCheckUtils]: 21: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:18,976 INFO L290 TraceCheckUtils]: 20: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:18,976 INFO L290 TraceCheckUtils]: 19: Hoare triple {179213#(<= (+ (* 5 |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; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:18,976 INFO L290 TraceCheckUtils]: 18: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} ~x~0 := 0;~y~0 := 0; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:18,977 INFO L290 TraceCheckUtils]: 17: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~l~0 < ~m); {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:18,977 INFO L290 TraceCheckUtils]: 16: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:18,977 INFO L290 TraceCheckUtils]: 15: Hoare triple {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} assume !(~b~0 < ~n); {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:18,977 INFO L290 TraceCheckUtils]: 14: Hoare triple {179528#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|) (not (< correct_version_~b~0 correct_version_~n)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {179213#(<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|)} is VALID [2022-04-27 11:47:18,978 INFO L290 TraceCheckUtils]: 13: Hoare triple {179532#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|) (<= correct_version_~n (+ correct_version_~b~0 correct_version_~a)))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {179528#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|) (not (< correct_version_~b~0 correct_version_~n)))} is VALID [2022-04-27 11:47:18,978 INFO L290 TraceCheckUtils]: 12: Hoare triple {179536#(or (<= (+ (* 5 |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; {179532#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|) (<= correct_version_~n (+ correct_version_~b~0 correct_version_~a)))} is VALID [2022-04-27 11:47:18,978 INFO L290 TraceCheckUtils]: 11: Hoare triple {179540#(or (<= (+ (* 5 |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; {179536#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|) (<= correct_version_~n (+ (* 2 correct_version_~a) correct_version_~b~0)))} is VALID [2022-04-27 11:47:18,979 INFO L290 TraceCheckUtils]: 10: Hoare triple {179544#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|) (<= correct_version_~n (+ correct_version_~b~0 (* 4 correct_version_~a))))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {179540#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|) (<= correct_version_~n (+ correct_version_~b~0 (* 3 correct_version_~a))))} is VALID [2022-04-27 11:47:18,979 INFO L290 TraceCheckUtils]: 9: Hoare triple {179548#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|) (<= correct_version_~n (+ correct_version_~b~0 (* 5 correct_version_~a))))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {179544#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|) (<= correct_version_~n (+ correct_version_~b~0 (* 4 correct_version_~a))))} is VALID [2022-04-27 11:47:18,980 INFO L290 TraceCheckUtils]: 8: Hoare triple {179158#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {179548#(or (<= (+ (* 5 |correct_version_#in~a|) 1) |correct_version_#in~n|) (<= correct_version_~n (+ correct_version_~b~0 (* 5 correct_version_~a))))} is VALID [2022-04-27 11:47:18,980 INFO L272 TraceCheckUtils]: 7: Hoare triple {179158#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {179158#true} is VALID [2022-04-27 11:47:18,980 INFO L290 TraceCheckUtils]: 6: Hoare triple {179158#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {179158#true} is VALID [2022-04-27 11:47:18,980 INFO L290 TraceCheckUtils]: 5: Hoare triple {179158#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {179158#true} is VALID [2022-04-27 11:47:18,980 INFO L272 TraceCheckUtils]: 4: Hoare triple {179158#true} call #t~ret10 := main(); {179158#true} is VALID [2022-04-27 11:47:18,980 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {179158#true} {179158#true} #117#return; {179158#true} is VALID [2022-04-27 11:47:18,980 INFO L290 TraceCheckUtils]: 2: Hoare triple {179158#true} assume true; {179158#true} is VALID [2022-04-27 11:47:18,980 INFO L290 TraceCheckUtils]: 1: Hoare triple {179158#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {179158#true} is VALID [2022-04-27 11:47:18,980 INFO L272 TraceCheckUtils]: 0: Hoare triple {179158#true} call ULTIMATE.init(); {179158#true} is VALID [2022-04-27 11:47:18,980 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 6 proven. 30 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-27 11:47:18,980 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [442336101] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:47:18,980 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:47:18,980 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 17, 17] total 45 [2022-04-27 11:47:18,981 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [69827041] [2022-04-27 11:47:18,981 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:47:18,981 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 44 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 55 [2022-04-27 11:47:18,981 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:47:18,981 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 45 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 44 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:47:19,014 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-27 11:47:19,014 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 45 states [2022-04-27 11:47:19,014 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:47:19,014 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2022-04-27 11:47:19,014 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=157, Invalid=1823, Unknown=0, NotChecked=0, Total=1980 [2022-04-27 11:47:19,015 INFO L87 Difference]: Start difference. First operand 846 states and 958 transitions. Second operand has 45 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 44 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:47:29,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:47:29,479 INFO L93 Difference]: Finished difference Result 860 states and 971 transitions. [2022-04-27 11:47:29,479 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-27 11:47:29,479 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 44 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 55 [2022-04-27 11:47:29,479 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:47:29,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 44 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:47:29,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 149 transitions. [2022-04-27 11:47:29,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 44 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:47:29,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 149 transitions. [2022-04-27 11:47:29,482 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 149 transitions. [2022-04-27 11:47:29,565 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-27 11:47:29,600 INFO L225 Difference]: With dead ends: 860 [2022-04-27 11:47:29,600 INFO L226 Difference]: Without dead ends: 834 [2022-04-27 11:47:29,604 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 157 GetRequests, 84 SyntacticMatches, 6 SemanticMatches, 67 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 639 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=404, Invalid=4288, Unknown=0, NotChecked=0, Total=4692 [2022-04-27 11:47:29,604 INFO L413 NwaCegarLoop]: 79 mSDtfsCounter, 523 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 2811 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 534 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 2861 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 2811 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-27 11:47:29,604 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [534 Valid, 211 Invalid, 2861 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 2811 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-27 11:47:29,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 834 states. [2022-04-27 11:47:34,972 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 834 to 832. [2022-04-27 11:47:34,972 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:47:34,973 INFO L82 GeneralOperation]: Start isEquivalent. First operand 834 states. Second operand has 832 states, 724 states have (on average 1.138121546961326) internal successors, (824), 790 states have internal predecessors, (824), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (72), 36 states have call predecessors, (72), 36 states have call successors, (72) [2022-04-27 11:47:34,973 INFO L74 IsIncluded]: Start isIncluded. First operand 834 states. Second operand has 832 states, 724 states have (on average 1.138121546961326) internal successors, (824), 790 states have internal predecessors, (824), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (72), 36 states have call predecessors, (72), 36 states have call successors, (72) [2022-04-27 11:47:34,974 INFO L87 Difference]: Start difference. First operand 834 states. Second operand has 832 states, 724 states have (on average 1.138121546961326) internal successors, (824), 790 states have internal predecessors, (824), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (72), 36 states have call predecessors, (72), 36 states have call successors, (72) [2022-04-27 11:47:34,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:47:34,998 INFO L93 Difference]: Finished difference Result 834 states and 936 transitions. [2022-04-27 11:47:34,998 INFO L276 IsEmpty]: Start isEmpty. Operand 834 states and 936 transitions. [2022-04-27 11:47:35,002 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:47:35,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:47:35,003 INFO L74 IsIncluded]: Start isIncluded. First operand has 832 states, 724 states have (on average 1.138121546961326) internal successors, (824), 790 states have internal predecessors, (824), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (72), 36 states have call predecessors, (72), 36 states have call successors, (72) Second operand 834 states. [2022-04-27 11:47:35,004 INFO L87 Difference]: Start difference. First operand has 832 states, 724 states have (on average 1.138121546961326) internal successors, (824), 790 states have internal predecessors, (824), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (72), 36 states have call predecessors, (72), 36 states have call successors, (72) Second operand 834 states. [2022-04-27 11:47:35,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:47:35,028 INFO L93 Difference]: Finished difference Result 834 states and 936 transitions. [2022-04-27 11:47:35,028 INFO L276 IsEmpty]: Start isEmpty. Operand 834 states and 936 transitions. [2022-04-27 11:47:35,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:47:35,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:47:35,032 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:47:35,033 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:47:35,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 832 states, 724 states have (on average 1.138121546961326) internal successors, (824), 790 states have internal predecessors, (824), 38 states have call successors, (38), 5 states have call predecessors, (38), 69 states have return successors, (72), 36 states have call predecessors, (72), 36 states have call successors, (72) [2022-04-27 11:47:35,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 832 states to 832 states and 934 transitions. [2022-04-27 11:47:35,075 INFO L78 Accepts]: Start accepts. Automaton has 832 states and 934 transitions. Word has length 55 [2022-04-27 11:47:35,075 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:47:35,075 INFO L495 AbstractCegarLoop]: Abstraction has 832 states and 934 transitions. [2022-04-27 11:47:35,075 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 45 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 44 states have internal predecessors, (70), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:47:35,075 INFO L276 IsEmpty]: Start isEmpty. Operand 832 states and 934 transitions. [2022-04-27 11:47:35,081 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-27 11:47:35,081 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:47:35,081 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:47:35,096 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (77)] Ended with exit code 0 [2022-04-27 11:47:35,295 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable85,77 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:47:35,295 INFO L420 AbstractCegarLoop]: === Iteration 87 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:47:35,296 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:47:35,296 INFO L85 PathProgramCache]: Analyzing trace with hash -1811549873, now seen corresponding path program 77 times [2022-04-27 11:47:35,296 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:47:35,296 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [712275276] [2022-04-27 11:47:35,296 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:47:35,296 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:47:35,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:47:35,327 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:47:35,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:47:35,329 INFO L290 TraceCheckUtils]: 0: Hoare triple {183823#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {183776#true} is VALID [2022-04-27 11:47:35,329 INFO L290 TraceCheckUtils]: 1: Hoare triple {183776#true} assume true; {183776#true} is VALID [2022-04-27 11:47:35,329 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {183776#true} {183776#true} #117#return; {183776#true} is VALID [2022-04-27 11:47:35,329 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:47:35,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:47:35,441 INFO L290 TraceCheckUtils]: 0: Hoare triple {183776#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {183824#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:47:35,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {183824#(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; {183824#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:47:35,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {183824#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {183824#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:47:35,442 INFO L290 TraceCheckUtils]: 3: Hoare triple {183824#(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; {183825#(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-27 11:47:35,443 INFO L290 TraceCheckUtils]: 4: Hoare triple {183825#(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; {183826#(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-27 11:47:35,443 INFO L290 TraceCheckUtils]: 5: Hoare triple {183826#(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; {183827#(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-27 11:47:35,444 INFO L290 TraceCheckUtils]: 6: Hoare triple {183827#(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; {183828#(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-27 11:47:35,444 INFO L290 TraceCheckUtils]: 7: Hoare triple {183828#(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; {183829#(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-27 11:47:35,444 INFO L290 TraceCheckUtils]: 8: Hoare triple {183829#(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; {183830#(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-27 11:47:35,445 INFO L290 TraceCheckUtils]: 9: Hoare triple {183830#(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; {183831#(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-27 11:47:35,445 INFO L290 TraceCheckUtils]: 10: Hoare triple {183831#(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; {183832#(and (<= correct_version_~l~0 (* 8 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:47:35,446 INFO L290 TraceCheckUtils]: 11: Hoare triple {183832#(and (<= correct_version_~l~0 (* 8 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; {183833#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 9 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:47:35,446 INFO L290 TraceCheckUtils]: 12: Hoare triple {183833#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 9 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {183834#(and (<= correct_version_~l~0 (* |correct_version_#in~a| 10)) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-27 11:47:35,446 INFO L290 TraceCheckUtils]: 13: Hoare triple {183834#(and (<= correct_version_~l~0 (* |correct_version_#in~a| 10)) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:35,446 INFO L290 TraceCheckUtils]: 14: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} ~x~0 := 0;~y~0 := 0; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:35,447 INFO L290 TraceCheckUtils]: 15: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:35,447 INFO L290 TraceCheckUtils]: 16: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} assume !(~x~0 < ~i~0); {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:35,447 INFO L290 TraceCheckUtils]: 17: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} #res := ~y~0; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:35,447 INFO L290 TraceCheckUtils]: 18: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} assume true; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:35,448 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} {183776#true} #111#return; {183801#(<= main_~m~0 (* main_~a~0 10))} is VALID [2022-04-27 11:47:35,448 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-27 11:47:35,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:47:35,648 INFO L290 TraceCheckUtils]: 0: Hoare triple {183776#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {183836#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:47:35,649 INFO L290 TraceCheckUtils]: 1: Hoare triple {183836#(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; {183836#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:47:35,649 INFO L290 TraceCheckUtils]: 2: Hoare triple {183836#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {183836#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:47:35,649 INFO L290 TraceCheckUtils]: 3: Hoare triple {183836#(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; {183837#(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-27 11:47:35,650 INFO L290 TraceCheckUtils]: 4: Hoare triple {183837#(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; {183838#(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-27 11:47:35,650 INFO L290 TraceCheckUtils]: 5: Hoare triple {183838#(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; {183839#(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-27 11:47:35,651 INFO L290 TraceCheckUtils]: 6: Hoare triple {183839#(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; {183840#(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-27 11:47:35,651 INFO L290 TraceCheckUtils]: 7: Hoare triple {183840#(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; {183841#(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-27 11:47:35,651 INFO L290 TraceCheckUtils]: 8: Hoare triple {183841#(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; {183842#(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-27 11:47:35,652 INFO L290 TraceCheckUtils]: 9: Hoare triple {183842#(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; {183843#(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-27 11:47:35,652 INFO L290 TraceCheckUtils]: 10: Hoare triple {183843#(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; {183844#(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-27 11:47:35,653 INFO L290 TraceCheckUtils]: 11: Hoare triple {183844#(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; {183845#(and (= |student_version_#in~a| student_version_~a) (<= (* 9 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:47:35,653 INFO L290 TraceCheckUtils]: 12: Hoare triple {183845#(and (= |student_version_#in~a| student_version_~a) (<= (* 9 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; {183846#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 10) student_version_~l~1))} is VALID [2022-04-27 11:47:35,654 INFO L290 TraceCheckUtils]: 13: Hoare triple {183846#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 10) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {183847#(and (<= (+ (* |student_version_#in~a| 10) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:47:35,654 INFO L290 TraceCheckUtils]: 14: Hoare triple {183847#(and (<= (+ (* |student_version_#in~a| 10) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:35,654 INFO L290 TraceCheckUtils]: 15: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:35,654 INFO L290 TraceCheckUtils]: 16: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:35,654 INFO L290 TraceCheckUtils]: 17: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:35,654 INFO L290 TraceCheckUtils]: 18: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} #res := ~y~1; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:35,655 INFO L290 TraceCheckUtils]: 19: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} assume true; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:35,655 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} {183801#(<= main_~m~0 (* main_~a~0 10))} #113#return; {183777#false} is VALID [2022-04-27 11:47:35,656 INFO L272 TraceCheckUtils]: 0: Hoare triple {183776#true} call ULTIMATE.init(); {183823#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:47:35,656 INFO L290 TraceCheckUtils]: 1: Hoare triple {183823#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {183776#true} is VALID [2022-04-27 11:47:35,656 INFO L290 TraceCheckUtils]: 2: Hoare triple {183776#true} assume true; {183776#true} is VALID [2022-04-27 11:47:35,656 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {183776#true} {183776#true} #117#return; {183776#true} is VALID [2022-04-27 11:47:35,656 INFO L272 TraceCheckUtils]: 4: Hoare triple {183776#true} call #t~ret10 := main(); {183776#true} is VALID [2022-04-27 11:47:35,656 INFO L290 TraceCheckUtils]: 5: Hoare triple {183776#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {183776#true} is VALID [2022-04-27 11:47:35,656 INFO L290 TraceCheckUtils]: 6: Hoare triple {183776#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {183776#true} is VALID [2022-04-27 11:47:35,656 INFO L272 TraceCheckUtils]: 7: Hoare triple {183776#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {183776#true} is VALID [2022-04-27 11:47:35,656 INFO L290 TraceCheckUtils]: 8: Hoare triple {183776#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {183824#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:47:35,657 INFO L290 TraceCheckUtils]: 9: Hoare triple {183824#(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; {183824#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:47:35,657 INFO L290 TraceCheckUtils]: 10: Hoare triple {183824#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} assume !(~b~0 < ~n); {183824#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= correct_version_~l~0 0))} is VALID [2022-04-27 11:47:35,657 INFO L290 TraceCheckUtils]: 11: Hoare triple {183824#(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; {183825#(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-27 11:47:35,658 INFO L290 TraceCheckUtils]: 12: Hoare triple {183825#(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; {183826#(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-27 11:47:35,658 INFO L290 TraceCheckUtils]: 13: Hoare triple {183826#(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; {183827#(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-27 11:47:35,658 INFO L290 TraceCheckUtils]: 14: Hoare triple {183827#(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; {183828#(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-27 11:47:35,659 INFO L290 TraceCheckUtils]: 15: Hoare triple {183828#(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; {183829#(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-27 11:47:35,659 INFO L290 TraceCheckUtils]: 16: Hoare triple {183829#(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; {183830#(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-27 11:47:35,660 INFO L290 TraceCheckUtils]: 17: Hoare triple {183830#(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; {183831#(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-27 11:47:35,660 INFO L290 TraceCheckUtils]: 18: Hoare triple {183831#(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; {183832#(and (<= correct_version_~l~0 (* 8 correct_version_~a)) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:47:35,660 INFO L290 TraceCheckUtils]: 19: Hoare triple {183832#(and (<= correct_version_~l~0 (* 8 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; {183833#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 9 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:47:35,661 INFO L290 TraceCheckUtils]: 20: Hoare triple {183833#(and (= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 9 correct_version_~a)) (= |correct_version_#in~a| correct_version_~a))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {183834#(and (<= correct_version_~l~0 (* |correct_version_#in~a| 10)) (= |correct_version_#in~m| correct_version_~m))} is VALID [2022-04-27 11:47:35,661 INFO L290 TraceCheckUtils]: 21: Hoare triple {183834#(and (<= correct_version_~l~0 (* |correct_version_#in~a| 10)) (= |correct_version_#in~m| correct_version_~m))} assume !(~l~0 < ~m); {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:35,661 INFO L290 TraceCheckUtils]: 22: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} ~x~0 := 0;~y~0 := 0; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:35,662 INFO L290 TraceCheckUtils]: 23: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:35,662 INFO L290 TraceCheckUtils]: 24: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} assume !(~x~0 < ~i~0); {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:35,662 INFO L290 TraceCheckUtils]: 25: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} #res := ~y~0; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:35,662 INFO L290 TraceCheckUtils]: 26: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} assume true; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:35,662 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} {183776#true} #111#return; {183801#(<= main_~m~0 (* main_~a~0 10))} is VALID [2022-04-27 11:47:35,663 INFO L290 TraceCheckUtils]: 28: Hoare triple {183801#(<= main_~m~0 (* main_~a~0 10))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {183801#(<= main_~m~0 (* main_~a~0 10))} is VALID [2022-04-27 11:47:35,663 INFO L272 TraceCheckUtils]: 29: Hoare triple {183801#(<= main_~m~0 (* main_~a~0 10))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {183776#true} is VALID [2022-04-27 11:47:35,663 INFO L290 TraceCheckUtils]: 30: Hoare triple {183776#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {183836#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:47:35,663 INFO L290 TraceCheckUtils]: 31: Hoare triple {183836#(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; {183836#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:47:35,664 INFO L290 TraceCheckUtils]: 32: Hoare triple {183836#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} assume !(~b~1 < ~n); {183836#(and (= |student_version_#in~a| student_version_~a) (<= 0 student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:47:35,664 INFO L290 TraceCheckUtils]: 33: Hoare triple {183836#(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; {183837#(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-27 11:47:35,664 INFO L290 TraceCheckUtils]: 34: Hoare triple {183837#(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; {183838#(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-27 11:47:35,665 INFO L290 TraceCheckUtils]: 35: Hoare triple {183838#(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; {183839#(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-27 11:47:35,665 INFO L290 TraceCheckUtils]: 36: Hoare triple {183839#(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; {183840#(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-27 11:47:35,666 INFO L290 TraceCheckUtils]: 37: Hoare triple {183840#(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; {183841#(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-27 11:47:35,666 INFO L290 TraceCheckUtils]: 38: Hoare triple {183841#(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; {183842#(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-27 11:47:35,666 INFO L290 TraceCheckUtils]: 39: Hoare triple {183842#(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; {183843#(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-27 11:47:35,667 INFO L290 TraceCheckUtils]: 40: Hoare triple {183843#(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; {183844#(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-27 11:47:35,667 INFO L290 TraceCheckUtils]: 41: Hoare triple {183844#(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; {183845#(and (= |student_version_#in~a| student_version_~a) (<= (* 9 student_version_~a) student_version_~l~1) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:47:35,668 INFO L290 TraceCheckUtils]: 42: Hoare triple {183845#(and (= |student_version_#in~a| student_version_~a) (<= (* 9 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; {183846#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 10) student_version_~l~1))} is VALID [2022-04-27 11:47:35,668 INFO L290 TraceCheckUtils]: 43: Hoare triple {183846#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= (* student_version_~a 10) student_version_~l~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {183847#(and (<= (+ (* |student_version_#in~a| 10) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} is VALID [2022-04-27 11:47:35,668 INFO L290 TraceCheckUtils]: 44: Hoare triple {183847#(and (<= (+ (* |student_version_#in~a| 10) 1) student_version_~m) (= |student_version_#in~m| student_version_~m))} assume !(~l~1 < ~m); {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:35,668 INFO L290 TraceCheckUtils]: 45: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:35,669 INFO L290 TraceCheckUtils]: 46: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:35,669 INFO L290 TraceCheckUtils]: 47: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:35,669 INFO L290 TraceCheckUtils]: 48: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} #res := ~y~1; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:35,669 INFO L290 TraceCheckUtils]: 49: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} assume true; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:35,670 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} {183801#(<= main_~m~0 (* main_~a~0 10))} #113#return; {183777#false} is VALID [2022-04-27 11:47:35,670 INFO L290 TraceCheckUtils]: 51: Hoare triple {183777#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {183777#false} is VALID [2022-04-27 11:47:35,670 INFO L272 TraceCheckUtils]: 52: Hoare triple {183777#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {183777#false} is VALID [2022-04-27 11:47:35,670 INFO L290 TraceCheckUtils]: 53: Hoare triple {183777#false} ~cond := #in~cond; {183777#false} is VALID [2022-04-27 11:47:35,670 INFO L290 TraceCheckUtils]: 54: Hoare triple {183777#false} assume 0 == ~cond; {183777#false} is VALID [2022-04-27 11:47:35,670 INFO L290 TraceCheckUtils]: 55: Hoare triple {183777#false} assume !false; {183777#false} is VALID [2022-04-27 11:47:35,670 INFO L134 CoverageAnalysis]: Checked inductivity of 125 backedges. 0 proven. 121 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:47:35,670 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:47:35,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [712275276] [2022-04-27 11:47:35,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [712275276] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:47:35,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1120210155] [2022-04-27 11:47:35,670 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 11:47:35,671 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:47:35,671 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:47:35,672 INFO L229 MonitoredProcess]: Starting monitored process 78 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:47:35,672 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (78)] Waiting until timeout for monitored process [2022-04-27 11:47:35,763 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2022-04-27 11:47:35,763 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:47:35,764 INFO L263 TraceCheckSpWp]: Trace formula consists of 273 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-27 11:47:35,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:47:35,788 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:47:37,052 INFO L272 TraceCheckUtils]: 0: Hoare triple {183776#true} call ULTIMATE.init(); {183776#true} is VALID [2022-04-27 11:47:37,052 INFO L290 TraceCheckUtils]: 1: Hoare triple {183776#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {183776#true} is VALID [2022-04-27 11:47:37,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {183776#true} assume true; {183776#true} is VALID [2022-04-27 11:47:37,052 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {183776#true} {183776#true} #117#return; {183776#true} is VALID [2022-04-27 11:47:37,052 INFO L272 TraceCheckUtils]: 4: Hoare triple {183776#true} call #t~ret10 := main(); {183776#true} is VALID [2022-04-27 11:47:37,052 INFO L290 TraceCheckUtils]: 5: Hoare triple {183776#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {183776#true} is VALID [2022-04-27 11:47:37,052 INFO L290 TraceCheckUtils]: 6: Hoare triple {183776#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {183776#true} is VALID [2022-04-27 11:47:37,052 INFO L272 TraceCheckUtils]: 7: Hoare triple {183776#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {183776#true} is VALID [2022-04-27 11:47:37,053 INFO L290 TraceCheckUtils]: 8: Hoare triple {183776#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {183876#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:47:37,053 INFO L290 TraceCheckUtils]: 9: Hoare triple {183876#(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; {183876#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:47:37,053 INFO L290 TraceCheckUtils]: 10: Hoare triple {183876#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} assume !(~b~0 < ~n); {183876#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 0) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:47:37,054 INFO L290 TraceCheckUtils]: 11: Hoare triple {183876#(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; {183886#(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-27 11:47:37,055 INFO L290 TraceCheckUtils]: 12: Hoare triple {183886#(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; {183890#(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-27 11:47:37,055 INFO L290 TraceCheckUtils]: 13: Hoare triple {183890#(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; {183894#(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-27 11:47:37,056 INFO L290 TraceCheckUtils]: 14: Hoare triple {183894#(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; {183898#(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-27 11:47:37,056 INFO L290 TraceCheckUtils]: 15: Hoare triple {183898#(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; {183902#(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-27 11:47:37,057 INFO L290 TraceCheckUtils]: 16: Hoare triple {183902#(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; {183906#(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-27 11:47:37,057 INFO L290 TraceCheckUtils]: 17: Hoare triple {183906#(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; {183910#(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-27 11:47:37,058 INFO L290 TraceCheckUtils]: 18: Hoare triple {183910#(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; {183914#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 8 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:47:37,058 INFO L290 TraceCheckUtils]: 19: Hoare triple {183914#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 8 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {183918#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 9 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} is VALID [2022-04-27 11:47:37,059 INFO L290 TraceCheckUtils]: 20: Hoare triple {183918#(and (<= |correct_version_#in~m| correct_version_~m) (<= correct_version_~l~0 (* 9 correct_version_~a)) (<= correct_version_~a |correct_version_#in~a|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {183922#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 10)) |correct_version_#in~a|))} is VALID [2022-04-27 11:47:37,059 INFO L290 TraceCheckUtils]: 21: Hoare triple {183922#(and (<= |correct_version_#in~m| correct_version_~m) (<= (div (- correct_version_~l~0) (- 10)) |correct_version_#in~a|))} assume !(~l~0 < ~m); {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:37,060 INFO L290 TraceCheckUtils]: 22: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} ~x~0 := 0;~y~0 := 0; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:37,060 INFO L290 TraceCheckUtils]: 23: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:37,060 INFO L290 TraceCheckUtils]: 24: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} assume !(~x~0 < ~i~0); {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:37,060 INFO L290 TraceCheckUtils]: 25: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} #res := ~y~0; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:37,061 INFO L290 TraceCheckUtils]: 26: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} assume true; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:37,061 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} {183776#true} #111#return; {183801#(<= main_~m~0 (* main_~a~0 10))} is VALID [2022-04-27 11:47:37,062 INFO L290 TraceCheckUtils]: 28: Hoare triple {183801#(<= main_~m~0 (* main_~a~0 10))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {183801#(<= main_~m~0 (* main_~a~0 10))} is VALID [2022-04-27 11:47:37,062 INFO L272 TraceCheckUtils]: 29: Hoare triple {183801#(<= main_~m~0 (* main_~a~0 10))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {183776#true} is VALID [2022-04-27 11:47:37,062 INFO L290 TraceCheckUtils]: 30: Hoare triple {183776#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {183953#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:47:37,062 INFO L290 TraceCheckUtils]: 31: Hoare triple {183953#(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; {183953#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:47:37,063 INFO L290 TraceCheckUtils]: 32: Hoare triple {183953#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} assume !(~b~1 < ~n); {183953#(and (<= student_version_~m |student_version_#in~m|) (<= 0 student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:47:37,063 INFO L290 TraceCheckUtils]: 33: Hoare triple {183953#(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; {183963#(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-27 11:47:37,064 INFO L290 TraceCheckUtils]: 34: Hoare triple {183963#(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; {183967#(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-27 11:47:37,064 INFO L290 TraceCheckUtils]: 35: Hoare triple {183967#(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; {183971#(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-27 11:47:37,065 INFO L290 TraceCheckUtils]: 36: Hoare triple {183971#(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; {183975#(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-27 11:47:37,065 INFO L290 TraceCheckUtils]: 37: Hoare triple {183975#(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; {183979#(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-27 11:47:37,066 INFO L290 TraceCheckUtils]: 38: Hoare triple {183979#(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; {183983#(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-27 11:47:37,066 INFO L290 TraceCheckUtils]: 39: Hoare triple {183983#(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; {183987#(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-27 11:47:37,067 INFO L290 TraceCheckUtils]: 40: Hoare triple {183987#(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; {183991#(and (<= student_version_~m |student_version_#in~m|) (<= (* 8 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:47:37,068 INFO L290 TraceCheckUtils]: 41: Hoare triple {183991#(and (<= student_version_~m |student_version_#in~m|) (<= (* 8 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; {183995#(and (<= student_version_~m |student_version_#in~m|) (<= (* 9 student_version_~a) student_version_~l~1) (<= |student_version_#in~a| student_version_~a))} is VALID [2022-04-27 11:47:37,068 INFO L290 TraceCheckUtils]: 42: Hoare triple {183995#(and (<= student_version_~m |student_version_#in~m|) (<= (* 9 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; {183999#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 10)))} is VALID [2022-04-27 11:47:37,069 INFO L290 TraceCheckUtils]: 43: Hoare triple {183999#(and (<= student_version_~m |student_version_#in~m|) (<= |student_version_#in~a| (div student_version_~l~1 10)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:37,069 INFO L290 TraceCheckUtils]: 44: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:37,069 INFO L290 TraceCheckUtils]: 45: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:37,069 INFO L290 TraceCheckUtils]: 46: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:37,070 INFO L290 TraceCheckUtils]: 47: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:37,070 INFO L290 TraceCheckUtils]: 48: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} #res := ~y~1; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:37,070 INFO L290 TraceCheckUtils]: 49: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} assume true; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:37,071 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} {183801#(<= main_~m~0 (* main_~a~0 10))} #113#return; {183777#false} is VALID [2022-04-27 11:47:37,071 INFO L290 TraceCheckUtils]: 51: Hoare triple {183777#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {183777#false} is VALID [2022-04-27 11:47:37,071 INFO L272 TraceCheckUtils]: 52: Hoare triple {183777#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {183777#false} is VALID [2022-04-27 11:47:37,071 INFO L290 TraceCheckUtils]: 53: Hoare triple {183777#false} ~cond := #in~cond; {183777#false} is VALID [2022-04-27 11:47:37,071 INFO L290 TraceCheckUtils]: 54: Hoare triple {183777#false} assume 0 == ~cond; {183777#false} is VALID [2022-04-27 11:47:37,071 INFO L290 TraceCheckUtils]: 55: Hoare triple {183777#false} assume !false; {183777#false} is VALID [2022-04-27 11:47:37,071 INFO L134 CoverageAnalysis]: Checked inductivity of 125 backedges. 0 proven. 121 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:47:37,072 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:47:39,187 INFO L290 TraceCheckUtils]: 55: Hoare triple {183777#false} assume !false; {183777#false} is VALID [2022-04-27 11:47:39,188 INFO L290 TraceCheckUtils]: 54: Hoare triple {183777#false} assume 0 == ~cond; {183777#false} is VALID [2022-04-27 11:47:39,188 INFO L290 TraceCheckUtils]: 53: Hoare triple {183777#false} ~cond := #in~cond; {183777#false} is VALID [2022-04-27 11:47:39,188 INFO L272 TraceCheckUtils]: 52: Hoare triple {183777#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {183777#false} is VALID [2022-04-27 11:47:39,188 INFO L290 TraceCheckUtils]: 51: Hoare triple {183777#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {183777#false} is VALID [2022-04-27 11:47:39,188 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} {183801#(<= main_~m~0 (* main_~a~0 10))} #113#return; {183777#false} is VALID [2022-04-27 11:47:39,189 INFO L290 TraceCheckUtils]: 49: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} assume true; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:39,189 INFO L290 TraceCheckUtils]: 48: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} #res := ~y~1; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:39,189 INFO L290 TraceCheckUtils]: 47: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} assume !(~x~1 < ~i~1); {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:39,189 INFO L290 TraceCheckUtils]: 46: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:39,189 INFO L290 TraceCheckUtils]: 45: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} ~x~1 := 0;~y~1 := 0; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:39,189 INFO L290 TraceCheckUtils]: 44: Hoare triple {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} assume !(~l~1 < ~m); {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:39,190 INFO L290 TraceCheckUtils]: 43: Hoare triple {184078#(or (<= (+ (* |student_version_#in~a| 10) 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; {183848#(<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|)} is VALID [2022-04-27 11:47:39,190 INFO L290 TraceCheckUtils]: 42: Hoare triple {184082#(or (<= (+ (* |student_version_#in~a| 10) 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; {184078#(or (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|) (not (< student_version_~l~1 student_version_~m)))} is VALID [2022-04-27 11:47:39,191 INFO L290 TraceCheckUtils]: 41: Hoare triple {184086#(or (<= (+ (* |student_version_#in~a| 10) 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; {184082#(or (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 student_version_~a)))} is VALID [2022-04-27 11:47:39,191 INFO L290 TraceCheckUtils]: 40: Hoare triple {184090#(or (<= (+ (* |student_version_#in~a| 10) 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; {184086#(or (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 2 student_version_~a))))} is VALID [2022-04-27 11:47:39,191 INFO L290 TraceCheckUtils]: 39: Hoare triple {184094#(or (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))) (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {184090#(or (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 3 student_version_~a) student_version_~l~1)))} is VALID [2022-04-27 11:47:39,192 INFO L290 TraceCheckUtils]: 38: Hoare triple {184098#(or (<= (+ (* |student_version_#in~a| 10) 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; {184094#(or (<= student_version_~m (+ student_version_~l~1 (* student_version_~a 4))) (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|))} is VALID [2022-04-27 11:47:39,192 INFO L290 TraceCheckUtils]: 37: Hoare triple {184102#(or (<= (+ (* |student_version_#in~a| 10) 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; {184098#(or (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 5 student_version_~a) student_version_~l~1)))} is VALID [2022-04-27 11:47:39,193 INFO L290 TraceCheckUtils]: 36: Hoare triple {184106#(or (<= (+ (* |student_version_#in~a| 10) 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; {184102#(or (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 6 student_version_~a) student_version_~l~1)))} is VALID [2022-04-27 11:47:39,193 INFO L290 TraceCheckUtils]: 35: Hoare triple {184110#(or (<= (+ (* |student_version_#in~a| 10) 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; {184106#(or (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 7 student_version_~a) student_version_~l~1)))} is VALID [2022-04-27 11:47:39,194 INFO L290 TraceCheckUtils]: 34: Hoare triple {184114#(or (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 9 student_version_~a))))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {184110#(or (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|) (<= student_version_~m (+ (* 8 student_version_~a) student_version_~l~1)))} is VALID [2022-04-27 11:47:39,194 INFO L290 TraceCheckUtils]: 33: Hoare triple {184118#(or (<= student_version_~m (+ (* student_version_~a 10) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {184114#(or (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|) (<= student_version_~m (+ student_version_~l~1 (* 9 student_version_~a))))} is VALID [2022-04-27 11:47:39,194 INFO L290 TraceCheckUtils]: 32: Hoare triple {184118#(or (<= student_version_~m (+ (* student_version_~a 10) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|))} assume !(~b~1 < ~n); {184118#(or (<= student_version_~m (+ (* student_version_~a 10) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|))} is VALID [2022-04-27 11:47:39,195 INFO L290 TraceCheckUtils]: 31: Hoare triple {184118#(or (<= student_version_~m (+ (* student_version_~a 10) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {184118#(or (<= student_version_~m (+ (* student_version_~a 10) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|))} is VALID [2022-04-27 11:47:39,195 INFO L290 TraceCheckUtils]: 30: Hoare triple {183776#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {184118#(or (<= student_version_~m (+ (* student_version_~a 10) student_version_~l~1)) (<= (+ (* |student_version_#in~a| 10) 1) |student_version_#in~m|))} is VALID [2022-04-27 11:47:39,195 INFO L272 TraceCheckUtils]: 29: Hoare triple {183801#(<= main_~m~0 (* main_~a~0 10))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {183776#true} is VALID [2022-04-27 11:47:39,195 INFO L290 TraceCheckUtils]: 28: Hoare triple {183801#(<= main_~m~0 (* main_~a~0 10))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {183801#(<= main_~m~0 (* main_~a~0 10))} is VALID [2022-04-27 11:47:39,196 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} {183776#true} #111#return; {183801#(<= main_~m~0 (* main_~a~0 10))} is VALID [2022-04-27 11:47:39,196 INFO L290 TraceCheckUtils]: 26: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} assume true; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:39,196 INFO L290 TraceCheckUtils]: 25: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} #res := ~y~0; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:39,196 INFO L290 TraceCheckUtils]: 24: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} assume !(~x~0 < ~i~0); {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:39,196 INFO L290 TraceCheckUtils]: 23: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:39,196 INFO L290 TraceCheckUtils]: 22: Hoare triple {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} ~x~0 := 0;~y~0 := 0; {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:39,197 INFO L290 TraceCheckUtils]: 21: Hoare triple {184155#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< correct_version_~l~0 correct_version_~m))} assume !(~l~0 < ~m); {183835#(<= |correct_version_#in~m| (* |correct_version_#in~a| 10))} is VALID [2022-04-27 11:47:39,197 INFO L290 TraceCheckUtils]: 20: Hoare triple {184159#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {184155#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< correct_version_~l~0 correct_version_~m))} is VALID [2022-04-27 11:47:39,197 INFO L290 TraceCheckUtils]: 19: Hoare triple {184163#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {184159#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< (+ correct_version_~l~0 correct_version_~a) correct_version_~m))} is VALID [2022-04-27 11:47:39,198 INFO L290 TraceCheckUtils]: 18: Hoare triple {184167#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {184163#(or (< (+ (* 2 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)))} is VALID [2022-04-27 11:47:39,198 INFO L290 TraceCheckUtils]: 17: Hoare triple {184171#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {184167#(or (< (+ correct_version_~l~0 (* 3 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)))} is VALID [2022-04-27 11:47:39,199 INFO L290 TraceCheckUtils]: 16: Hoare triple {184175#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< (+ 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; {184171#(or (< (+ correct_version_~l~0 (* 4 correct_version_~a)) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)))} is VALID [2022-04-27 11:47:39,199 INFO L290 TraceCheckUtils]: 15: Hoare triple {184179#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< (+ 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; {184175#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< (+ correct_version_~l~0 (* 5 correct_version_~a)) correct_version_~m))} is VALID [2022-04-27 11:47:39,199 INFO L290 TraceCheckUtils]: 14: Hoare triple {184183#(or (< (+ (* 7 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {184179#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< (+ correct_version_~l~0 (* 6 correct_version_~a)) correct_version_~m))} is VALID [2022-04-27 11:47:39,200 INFO L290 TraceCheckUtils]: 13: Hoare triple {184187#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< (+ 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; {184183#(or (< (+ (* 7 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)))} is VALID [2022-04-27 11:47:39,200 INFO L290 TraceCheckUtils]: 12: Hoare triple {184191#(or (< (+ (* 9 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {184187#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< (+ correct_version_~l~0 (* 8 correct_version_~a)) correct_version_~m))} is VALID [2022-04-27 11:47:39,201 INFO L290 TraceCheckUtils]: 11: Hoare triple {184195#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< (+ correct_version_~l~0 (* 10 correct_version_~a)) correct_version_~m))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {184191#(or (< (+ (* 9 correct_version_~a) correct_version_~l~0) correct_version_~m) (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)))} is VALID [2022-04-27 11:47:39,201 INFO L290 TraceCheckUtils]: 10: Hoare triple {184195#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< (+ correct_version_~l~0 (* 10 correct_version_~a)) correct_version_~m))} assume !(~b~0 < ~n); {184195#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< (+ correct_version_~l~0 (* 10 correct_version_~a)) correct_version_~m))} is VALID [2022-04-27 11:47:39,201 INFO L290 TraceCheckUtils]: 9: Hoare triple {184195#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< (+ correct_version_~l~0 (* 10 correct_version_~a)) correct_version_~m))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {184195#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< (+ correct_version_~l~0 (* 10 correct_version_~a)) correct_version_~m))} is VALID [2022-04-27 11:47:39,201 INFO L290 TraceCheckUtils]: 8: Hoare triple {183776#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {184195#(or (<= |correct_version_#in~m| (* |correct_version_#in~a| 10)) (< (+ correct_version_~l~0 (* 10 correct_version_~a)) correct_version_~m))} is VALID [2022-04-27 11:47:39,202 INFO L272 TraceCheckUtils]: 7: Hoare triple {183776#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {183776#true} is VALID [2022-04-27 11:47:39,202 INFO L290 TraceCheckUtils]: 6: Hoare triple {183776#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {183776#true} is VALID [2022-04-27 11:47:39,202 INFO L290 TraceCheckUtils]: 5: Hoare triple {183776#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {183776#true} is VALID [2022-04-27 11:47:39,202 INFO L272 TraceCheckUtils]: 4: Hoare triple {183776#true} call #t~ret10 := main(); {183776#true} is VALID [2022-04-27 11:47:39,202 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {183776#true} {183776#true} #117#return; {183776#true} is VALID [2022-04-27 11:47:39,202 INFO L290 TraceCheckUtils]: 2: Hoare triple {183776#true} assume true; {183776#true} is VALID [2022-04-27 11:47:39,202 INFO L290 TraceCheckUtils]: 1: Hoare triple {183776#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {183776#true} is VALID [2022-04-27 11:47:39,202 INFO L272 TraceCheckUtils]: 0: Hoare triple {183776#true} call ULTIMATE.init(); {183776#true} is VALID [2022-04-27 11:47:39,202 INFO L134 CoverageAnalysis]: Checked inductivity of 125 backedges. 11 proven. 110 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:47:39,202 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1120210155] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:47:39,202 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:47:39,202 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 27, 27] total 73 [2022-04-27 11:47:39,202 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [101368066] [2022-04-27 11:47:39,203 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:47:39,203 INFO L78 Accepts]: Start accepts. Automaton has has 73 states, 73 states have (on average 1.452054794520548) internal successors, (106), 72 states have internal predecessors, (106), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 56 [2022-04-27 11:47:39,206 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:47:39,206 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 73 states, 73 states have (on average 1.452054794520548) internal successors, (106), 72 states have internal predecessors, (106), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:47:39,295 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:47:39,295 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 73 states [2022-04-27 11:47:39,296 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:47:39,296 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 73 interpolants. [2022-04-27 11:47:39,296 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=243, Invalid=5013, Unknown=0, NotChecked=0, Total=5256 [2022-04-27 11:47:39,297 INFO L87 Difference]: Start difference. First operand 832 states and 934 transitions. Second operand has 73 states, 73 states have (on average 1.452054794520548) internal successors, (106), 72 states have internal predecessors, (106), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:47:59,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:47:59,044 INFO L93 Difference]: Finished difference Result 948 states and 1071 transitions. [2022-04-27 11:47:59,044 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 47 states. [2022-04-27 11:47:59,044 INFO L78 Accepts]: Start accepts. Automaton has has 73 states, 73 states have (on average 1.452054794520548) internal successors, (106), 72 states have internal predecessors, (106), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 56 [2022-04-27 11:47:59,044 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:47:59,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 73 states have (on average 1.452054794520548) internal successors, (106), 72 states have internal predecessors, (106), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:47:59,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 210 transitions. [2022-04-27 11:47:59,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 73 states have (on average 1.452054794520548) internal successors, (106), 72 states have internal predecessors, (106), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:47:59,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 210 transitions. [2022-04-27 11:47:59,047 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 210 transitions. [2022-04-27 11:47:59,168 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 210 edges. 210 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:47:59,214 INFO L225 Difference]: With dead ends: 948 [2022-04-27 11:47:59,214 INFO L226 Difference]: Without dead ends: 934 [2022-04-27 11:47:59,219 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 187 GetRequests, 67 SyntacticMatches, 5 SemanticMatches, 115 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1949 ImplicationChecksByTransitivity, 3.4s TimeCoverageRelationStatistics Valid=846, Invalid=12726, Unknown=0, NotChecked=0, Total=13572 [2022-04-27 11:47:59,219 INFO L413 NwaCegarLoop]: 124 mSDtfsCounter, 1485 mSDsluCounter, 217 mSDsCounter, 0 mSdLazyCounter, 7387 mSolverCounterSat, 169 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1490 SdHoareTripleChecker+Valid, 341 SdHoareTripleChecker+Invalid, 7556 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 169 IncrementalHoareTripleChecker+Valid, 7387 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.9s IncrementalHoareTripleChecker+Time [2022-04-27 11:47:59,219 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1490 Valid, 341 Invalid, 7556 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [169 Valid, 7387 Invalid, 0 Unknown, 0 Unchecked, 4.9s Time] [2022-04-27 11:47:59,220 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 934 states. [2022-04-27 11:48:06,326 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 934 to 925. [2022-04-27 11:48:06,326 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:48:06,327 INFO L82 GeneralOperation]: Start isEquivalent. First operand 934 states. Second operand has 925 states, 805 states have (on average 1.1366459627329193) internal successors, (915), 879 states have internal predecessors, (915), 42 states have call successors, (42), 5 states have call predecessors, (42), 77 states have return successors, (84), 40 states have call predecessors, (84), 40 states have call successors, (84) [2022-04-27 11:48:06,328 INFO L74 IsIncluded]: Start isIncluded. First operand 934 states. Second operand has 925 states, 805 states have (on average 1.1366459627329193) internal successors, (915), 879 states have internal predecessors, (915), 42 states have call successors, (42), 5 states have call predecessors, (42), 77 states have return successors, (84), 40 states have call predecessors, (84), 40 states have call successors, (84) [2022-04-27 11:48:06,328 INFO L87 Difference]: Start difference. First operand 934 states. Second operand has 925 states, 805 states have (on average 1.1366459627329193) internal successors, (915), 879 states have internal predecessors, (915), 42 states have call successors, (42), 5 states have call predecessors, (42), 77 states have return successors, (84), 40 states have call predecessors, (84), 40 states have call successors, (84) [2022-04-27 11:48:06,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:48:06,359 INFO L93 Difference]: Finished difference Result 934 states and 1051 transitions. [2022-04-27 11:48:06,359 INFO L276 IsEmpty]: Start isEmpty. Operand 934 states and 1051 transitions. [2022-04-27 11:48:06,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:48:06,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:48:06,365 INFO L74 IsIncluded]: Start isIncluded. First operand has 925 states, 805 states have (on average 1.1366459627329193) internal successors, (915), 879 states have internal predecessors, (915), 42 states have call successors, (42), 5 states have call predecessors, (42), 77 states have return successors, (84), 40 states have call predecessors, (84), 40 states have call successors, (84) Second operand 934 states. [2022-04-27 11:48:06,365 INFO L87 Difference]: Start difference. First operand has 925 states, 805 states have (on average 1.1366459627329193) internal successors, (915), 879 states have internal predecessors, (915), 42 states have call successors, (42), 5 states have call predecessors, (42), 77 states have return successors, (84), 40 states have call predecessors, (84), 40 states have call successors, (84) Second operand 934 states. [2022-04-27 11:48:06,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:48:06,395 INFO L93 Difference]: Finished difference Result 934 states and 1051 transitions. [2022-04-27 11:48:06,395 INFO L276 IsEmpty]: Start isEmpty. Operand 934 states and 1051 transitions. [2022-04-27 11:48:06,401 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:48:06,401 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:48:06,401 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:48:06,401 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:48:06,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 925 states, 805 states have (on average 1.1366459627329193) internal successors, (915), 879 states have internal predecessors, (915), 42 states have call successors, (42), 5 states have call predecessors, (42), 77 states have return successors, (84), 40 states have call predecessors, (84), 40 states have call successors, (84) [2022-04-27 11:48:06,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 925 states to 925 states and 1041 transitions. [2022-04-27 11:48:06,441 INFO L78 Accepts]: Start accepts. Automaton has 925 states and 1041 transitions. Word has length 56 [2022-04-27 11:48:06,441 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:48:06,441 INFO L495 AbstractCegarLoop]: Abstraction has 925 states and 1041 transitions. [2022-04-27 11:48:06,442 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 73 states, 73 states have (on average 1.452054794520548) internal successors, (106), 72 states have internal predecessors, (106), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:48:06,442 INFO L276 IsEmpty]: Start isEmpty. Operand 925 states and 1041 transitions. [2022-04-27 11:48:06,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-27 11:48:06,448 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:48:06,448 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:48:06,464 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (78)] Forceful destruction successful, exit code 0 [2022-04-27 11:48:06,663 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable86,78 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:48:06,663 INFO L420 AbstractCegarLoop]: === Iteration 88 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:48:06,663 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:48:06,664 INFO L85 PathProgramCache]: Analyzing trace with hash -120213876, now seen corresponding path program 78 times [2022-04-27 11:48:06,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:48:06,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2009534598] [2022-04-27 11:48:06,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:48:06,664 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:48:06,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:06,713 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:48:06,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:06,715 INFO L290 TraceCheckUtils]: 0: Hoare triple {188986#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {188939#true} is VALID [2022-04-27 11:48:06,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {188939#true} assume true; {188939#true} is VALID [2022-04-27 11:48:06,715 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {188939#true} {188939#true} #117#return; {188939#true} is VALID [2022-04-27 11:48:06,715 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:48:06,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:06,912 INFO L290 TraceCheckUtils]: 0: Hoare triple {188939#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {188987#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:48:06,912 INFO L290 TraceCheckUtils]: 1: Hoare triple {188987#(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; {188987#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:48:06,912 INFO L290 TraceCheckUtils]: 2: Hoare triple {188987#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {188987#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:48:06,913 INFO L290 TraceCheckUtils]: 3: Hoare triple {188987#(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; {188988#(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-27 11:48:06,913 INFO L290 TraceCheckUtils]: 4: Hoare triple {188988#(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; {188989#(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-27 11:48:06,914 INFO L290 TraceCheckUtils]: 5: Hoare triple {188989#(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; {188990#(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-27 11:48:06,914 INFO L290 TraceCheckUtils]: 6: Hoare triple {188990#(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; {188991#(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-27 11:48:06,914 INFO L290 TraceCheckUtils]: 7: Hoare triple {188991#(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; {188992#(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-27 11:48:06,915 INFO L290 TraceCheckUtils]: 8: Hoare triple {188992#(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; {188993#(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-27 11:48:06,915 INFO L290 TraceCheckUtils]: 9: Hoare triple {188993#(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; {188994#(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-27 11:48:06,916 INFO L290 TraceCheckUtils]: 10: Hoare triple {188994#(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; {188995#(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-27 11:48:06,916 INFO L290 TraceCheckUtils]: 11: Hoare triple {188995#(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; {188996#(and (<= (* 9 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-27 11:48:06,917 INFO L290 TraceCheckUtils]: 12: Hoare triple {188996#(and (<= (* 9 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; {188997#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 10 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-27 11:48:06,917 INFO L290 TraceCheckUtils]: 13: Hoare triple {188997#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 10 correct_version_~a) correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {188998#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* |correct_version_#in~a| 10) 1) correct_version_~m))} is VALID [2022-04-27 11:48:06,917 INFO L290 TraceCheckUtils]: 14: Hoare triple {188998#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* |correct_version_#in~a| 10) 1) correct_version_~m))} assume !(~l~0 < ~m); {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:06,918 INFO L290 TraceCheckUtils]: 15: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:06,918 INFO L290 TraceCheckUtils]: 16: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:06,918 INFO L290 TraceCheckUtils]: 17: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:06,918 INFO L290 TraceCheckUtils]: 18: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} #res := ~y~0; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:06,918 INFO L290 TraceCheckUtils]: 19: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} assume true; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:06,919 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} {188939#true} #111#return; {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} is VALID [2022-04-27 11:48:06,919 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-27 11:48:06,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:07,099 INFO L290 TraceCheckUtils]: 0: Hoare triple {188939#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {189000#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:48:07,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {189000#(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; {189000#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:48:07,100 INFO L290 TraceCheckUtils]: 2: Hoare triple {189000#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {189000#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:48:07,100 INFO L290 TraceCheckUtils]: 3: Hoare triple {189000#(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; {189001#(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-27 11:48:07,101 INFO L290 TraceCheckUtils]: 4: Hoare triple {189001#(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; {189002#(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-27 11:48:07,101 INFO L290 TraceCheckUtils]: 5: Hoare triple {189002#(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; {189003#(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-27 11:48:07,102 INFO L290 TraceCheckUtils]: 6: Hoare triple {189003#(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; {189004#(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-27 11:48:07,102 INFO L290 TraceCheckUtils]: 7: Hoare triple {189004#(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; {189005#(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-27 11:48:07,102 INFO L290 TraceCheckUtils]: 8: Hoare triple {189005#(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; {189006#(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-27 11:48:07,103 INFO L290 TraceCheckUtils]: 9: Hoare triple {189006#(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; {189007#(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-27 11:48:07,103 INFO L290 TraceCheckUtils]: 10: Hoare triple {189007#(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; {189008#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 8 student_version_~a)))} is VALID [2022-04-27 11:48:07,104 INFO L290 TraceCheckUtils]: 11: Hoare triple {189008#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 8 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {189009#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 9 student_version_~a)))} is VALID [2022-04-27 11:48:07,104 INFO L290 TraceCheckUtils]: 12: Hoare triple {189009#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 9 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {189010#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 10)))} is VALID [2022-04-27 11:48:07,104 INFO L290 TraceCheckUtils]: 13: Hoare triple {189010#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 10)))} assume !(~l~1 < ~m); {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:07,104 INFO L290 TraceCheckUtils]: 14: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} ~x~1 := 0;~y~1 := 0; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:07,105 INFO L290 TraceCheckUtils]: 15: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:07,105 INFO L290 TraceCheckUtils]: 16: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} assume !(~x~1 < ~i~1); {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:07,105 INFO L290 TraceCheckUtils]: 17: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} #res := ~y~1; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:07,105 INFO L290 TraceCheckUtils]: 18: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} assume true; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:07,106 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} #113#return; {188940#false} is VALID [2022-04-27 11:48:07,106 INFO L272 TraceCheckUtils]: 0: Hoare triple {188939#true} call ULTIMATE.init(); {188986#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:48:07,106 INFO L290 TraceCheckUtils]: 1: Hoare triple {188986#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {188939#true} is VALID [2022-04-27 11:48:07,106 INFO L290 TraceCheckUtils]: 2: Hoare triple {188939#true} assume true; {188939#true} is VALID [2022-04-27 11:48:07,106 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {188939#true} {188939#true} #117#return; {188939#true} is VALID [2022-04-27 11:48:07,106 INFO L272 TraceCheckUtils]: 4: Hoare triple {188939#true} call #t~ret10 := main(); {188939#true} is VALID [2022-04-27 11:48:07,106 INFO L290 TraceCheckUtils]: 5: Hoare triple {188939#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {188939#true} is VALID [2022-04-27 11:48:07,106 INFO L290 TraceCheckUtils]: 6: Hoare triple {188939#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {188939#true} is VALID [2022-04-27 11:48:07,106 INFO L272 TraceCheckUtils]: 7: Hoare triple {188939#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {188939#true} is VALID [2022-04-27 11:48:07,107 INFO L290 TraceCheckUtils]: 8: Hoare triple {188939#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {188987#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:48:07,107 INFO L290 TraceCheckUtils]: 9: Hoare triple {188987#(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; {188987#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:48:07,107 INFO L290 TraceCheckUtils]: 10: Hoare triple {188987#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {188987#(and (<= 0 correct_version_~l~0) (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:48:07,107 INFO L290 TraceCheckUtils]: 11: Hoare triple {188987#(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; {188988#(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-27 11:48:07,108 INFO L290 TraceCheckUtils]: 12: Hoare triple {188988#(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; {188989#(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-27 11:48:07,108 INFO L290 TraceCheckUtils]: 13: Hoare triple {188989#(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; {188990#(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-27 11:48:07,109 INFO L290 TraceCheckUtils]: 14: Hoare triple {188990#(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; {188991#(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-27 11:48:07,109 INFO L290 TraceCheckUtils]: 15: Hoare triple {188991#(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; {188992#(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-27 11:48:07,109 INFO L290 TraceCheckUtils]: 16: Hoare triple {188992#(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; {188993#(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-27 11:48:07,110 INFO L290 TraceCheckUtils]: 17: Hoare triple {188993#(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; {188994#(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-27 11:48:07,110 INFO L290 TraceCheckUtils]: 18: Hoare triple {188994#(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; {188995#(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-27 11:48:07,110 INFO L290 TraceCheckUtils]: 19: Hoare triple {188995#(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; {188996#(and (<= (* 9 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-27 11:48:07,111 INFO L290 TraceCheckUtils]: 20: Hoare triple {188996#(and (<= (* 9 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; {188997#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 10 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-27 11:48:07,111 INFO L290 TraceCheckUtils]: 21: Hoare triple {188997#(and (= |correct_version_#in~m| correct_version_~m) (= |correct_version_#in~a| correct_version_~a) (<= (* 10 correct_version_~a) correct_version_~l~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {188998#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* |correct_version_#in~a| 10) 1) correct_version_~m))} is VALID [2022-04-27 11:48:07,112 INFO L290 TraceCheckUtils]: 22: Hoare triple {188998#(and (= |correct_version_#in~m| correct_version_~m) (<= (+ (* |correct_version_#in~a| 10) 1) correct_version_~m))} assume !(~l~0 < ~m); {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:07,112 INFO L290 TraceCheckUtils]: 23: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:07,112 INFO L290 TraceCheckUtils]: 24: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:07,112 INFO L290 TraceCheckUtils]: 25: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:07,112 INFO L290 TraceCheckUtils]: 26: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} #res := ~y~0; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:07,112 INFO L290 TraceCheckUtils]: 27: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} assume true; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:07,113 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} {188939#true} #111#return; {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} is VALID [2022-04-27 11:48:07,113 INFO L290 TraceCheckUtils]: 29: Hoare triple {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} is VALID [2022-04-27 11:48:07,113 INFO L272 TraceCheckUtils]: 30: Hoare triple {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {188939#true} is VALID [2022-04-27 11:48:07,113 INFO L290 TraceCheckUtils]: 31: Hoare triple {188939#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {189000#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:48:07,114 INFO L290 TraceCheckUtils]: 32: Hoare triple {189000#(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; {189000#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:48:07,114 INFO L290 TraceCheckUtils]: 33: Hoare triple {189000#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} assume !(~b~1 < ~n); {189000#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 0))} is VALID [2022-04-27 11:48:07,114 INFO L290 TraceCheckUtils]: 34: Hoare triple {189000#(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; {189001#(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-27 11:48:07,115 INFO L290 TraceCheckUtils]: 35: Hoare triple {189001#(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; {189002#(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-27 11:48:07,115 INFO L290 TraceCheckUtils]: 36: Hoare triple {189002#(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; {189003#(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-27 11:48:07,115 INFO L290 TraceCheckUtils]: 37: Hoare triple {189003#(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; {189004#(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-27 11:48:07,116 INFO L290 TraceCheckUtils]: 38: Hoare triple {189004#(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; {189005#(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-27 11:48:07,116 INFO L290 TraceCheckUtils]: 39: Hoare triple {189005#(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; {189006#(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-27 11:48:07,117 INFO L290 TraceCheckUtils]: 40: Hoare triple {189006#(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; {189007#(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-27 11:48:07,117 INFO L290 TraceCheckUtils]: 41: Hoare triple {189007#(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; {189008#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 8 student_version_~a)))} is VALID [2022-04-27 11:48:07,117 INFO L290 TraceCheckUtils]: 42: Hoare triple {189008#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 8 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {189009#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 9 student_version_~a)))} is VALID [2022-04-27 11:48:07,118 INFO L290 TraceCheckUtils]: 43: Hoare triple {189009#(and (= |student_version_#in~a| student_version_~a) (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 9 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {189010#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 10)))} is VALID [2022-04-27 11:48:07,118 INFO L290 TraceCheckUtils]: 44: Hoare triple {189010#(and (= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* |student_version_#in~a| 10)))} assume !(~l~1 < ~m); {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:07,118 INFO L290 TraceCheckUtils]: 45: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} ~x~1 := 0;~y~1 := 0; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:07,118 INFO L290 TraceCheckUtils]: 46: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:07,118 INFO L290 TraceCheckUtils]: 47: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} assume !(~x~1 < ~i~1); {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:07,119 INFO L290 TraceCheckUtils]: 48: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} #res := ~y~1; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:07,119 INFO L290 TraceCheckUtils]: 49: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} assume true; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:07,119 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} #113#return; {188940#false} is VALID [2022-04-27 11:48:07,119 INFO L290 TraceCheckUtils]: 51: Hoare triple {188940#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {188940#false} is VALID [2022-04-27 11:48:07,119 INFO L272 TraceCheckUtils]: 52: Hoare triple {188940#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {188940#false} is VALID [2022-04-27 11:48:07,119 INFO L290 TraceCheckUtils]: 53: Hoare triple {188940#false} ~cond := #in~cond; {188940#false} is VALID [2022-04-27 11:48:07,119 INFO L290 TraceCheckUtils]: 54: Hoare triple {188940#false} assume 0 == ~cond; {188940#false} is VALID [2022-04-27 11:48:07,119 INFO L290 TraceCheckUtils]: 55: Hoare triple {188940#false} assume !false; {188940#false} is VALID [2022-04-27 11:48:07,120 INFO L134 CoverageAnalysis]: Checked inductivity of 125 backedges. 0 proven. 121 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:48:07,120 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:48:07,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2009534598] [2022-04-27 11:48:07,120 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2009534598] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:48:07,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [965477398] [2022-04-27 11:48:07,120 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-27 11:48:07,120 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:48:07,120 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:48:07,121 INFO L229 MonitoredProcess]: Starting monitored process 79 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:48:07,122 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (79)] Waiting until timeout for monitored process [2022-04-27 11:48:07,232 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-27 11:48:07,233 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:48:07,234 INFO L263 TraceCheckSpWp]: Trace formula consists of 273 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-27 11:48:07,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:07,250 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:48:08,801 INFO L272 TraceCheckUtils]: 0: Hoare triple {188939#true} call ULTIMATE.init(); {188939#true} is VALID [2022-04-27 11:48:08,802 INFO L290 TraceCheckUtils]: 1: Hoare triple {188939#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {188939#true} is VALID [2022-04-27 11:48:08,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {188939#true} assume true; {188939#true} is VALID [2022-04-27 11:48:08,802 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {188939#true} {188939#true} #117#return; {188939#true} is VALID [2022-04-27 11:48:08,802 INFO L272 TraceCheckUtils]: 4: Hoare triple {188939#true} call #t~ret10 := main(); {188939#true} is VALID [2022-04-27 11:48:08,802 INFO L290 TraceCheckUtils]: 5: Hoare triple {188939#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {188939#true} is VALID [2022-04-27 11:48:08,802 INFO L290 TraceCheckUtils]: 6: Hoare triple {188939#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {188939#true} is VALID [2022-04-27 11:48:08,802 INFO L272 TraceCheckUtils]: 7: Hoare triple {188939#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {188939#true} is VALID [2022-04-27 11:48:08,802 INFO L290 TraceCheckUtils]: 8: Hoare triple {188939#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {189039#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:48:08,803 INFO L290 TraceCheckUtils]: 9: Hoare triple {189039#(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; {189039#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:48:08,803 INFO L290 TraceCheckUtils]: 10: Hoare triple {189039#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} assume !(~b~0 < ~n); {189039#(and (<= correct_version_~m |correct_version_#in~m|) (<= 0 correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:48:08,804 INFO L290 TraceCheckUtils]: 11: Hoare triple {189039#(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; {189049#(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-27 11:48:08,804 INFO L290 TraceCheckUtils]: 12: Hoare triple {189049#(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; {189053#(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-27 11:48:08,805 INFO L290 TraceCheckUtils]: 13: Hoare triple {189053#(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; {189057#(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-27 11:48:08,805 INFO L290 TraceCheckUtils]: 14: Hoare triple {189057#(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; {189061#(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-27 11:48:08,806 INFO L290 TraceCheckUtils]: 15: Hoare triple {189061#(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; {189065#(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-27 11:48:08,806 INFO L290 TraceCheckUtils]: 16: Hoare triple {189065#(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; {189069#(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-27 11:48:08,807 INFO L290 TraceCheckUtils]: 17: Hoare triple {189069#(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; {189073#(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-27 11:48:08,807 INFO L290 TraceCheckUtils]: 18: Hoare triple {189073#(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; {189077#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| correct_version_~a) (<= (* 8 correct_version_~a) correct_version_~l~0))} is VALID [2022-04-27 11:48:08,808 INFO L290 TraceCheckUtils]: 19: Hoare triple {189077#(and (<= correct_version_~m |correct_version_#in~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; {189081#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 9 correct_version_~a) correct_version_~l~0) (<= |correct_version_#in~a| correct_version_~a))} is VALID [2022-04-27 11:48:08,808 INFO L290 TraceCheckUtils]: 20: Hoare triple {189081#(and (<= correct_version_~m |correct_version_#in~m|) (<= (* 9 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; {189085#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 10)))} is VALID [2022-04-27 11:48:08,809 INFO L290 TraceCheckUtils]: 21: Hoare triple {189085#(and (<= correct_version_~m |correct_version_#in~m|) (<= |correct_version_#in~a| (div correct_version_~l~0 10)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:08,809 INFO L290 TraceCheckUtils]: 22: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:08,809 INFO L290 TraceCheckUtils]: 23: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:08,810 INFO L290 TraceCheckUtils]: 24: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:08,810 INFO L290 TraceCheckUtils]: 25: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:08,810 INFO L290 TraceCheckUtils]: 26: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} #res := ~y~0; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:08,810 INFO L290 TraceCheckUtils]: 27: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} assume true; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:08,811 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} {188939#true} #111#return; {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} is VALID [2022-04-27 11:48:08,811 INFO L290 TraceCheckUtils]: 29: Hoare triple {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} is VALID [2022-04-27 11:48:08,811 INFO L272 TraceCheckUtils]: 30: Hoare triple {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {188939#true} is VALID [2022-04-27 11:48:08,812 INFO L290 TraceCheckUtils]: 31: Hoare triple {188939#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {189119#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:48:08,812 INFO L290 TraceCheckUtils]: 32: Hoare triple {189119#(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; {189119#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:48:08,813 INFO L290 TraceCheckUtils]: 33: Hoare triple {189119#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} assume !(~b~1 < ~n); {189119#(and (<= student_version_~l~1 0) (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:48:08,813 INFO L290 TraceCheckUtils]: 34: Hoare triple {189119#(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; {189129#(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-27 11:48:08,814 INFO L290 TraceCheckUtils]: 35: Hoare triple {189129#(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; {189133#(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-27 11:48:08,814 INFO L290 TraceCheckUtils]: 36: Hoare triple {189133#(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; {189137#(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-27 11:48:08,815 INFO L290 TraceCheckUtils]: 37: Hoare triple {189137#(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; {189141#(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-27 11:48:08,815 INFO L290 TraceCheckUtils]: 38: Hoare triple {189141#(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; {189145#(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-27 11:48:08,816 INFO L290 TraceCheckUtils]: 39: Hoare triple {189145#(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; {189149#(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-27 11:48:08,816 INFO L290 TraceCheckUtils]: 40: Hoare triple {189149#(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; {189153#(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-27 11:48:08,817 INFO L290 TraceCheckUtils]: 41: Hoare triple {189153#(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; {189157#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 8 student_version_~a)))} is VALID [2022-04-27 11:48:08,817 INFO L290 TraceCheckUtils]: 42: Hoare triple {189157#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~a |student_version_#in~a|) (<= student_version_~l~1 (* 8 student_version_~a)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {189161#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 9 student_version_~a)) (<= student_version_~a |student_version_#in~a|))} is VALID [2022-04-27 11:48:08,818 INFO L290 TraceCheckUtils]: 43: Hoare triple {189161#(and (<= |student_version_#in~m| student_version_~m) (<= student_version_~l~1 (* 9 student_version_~a)) (<= student_version_~a |student_version_#in~a|))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {189165#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 10)) |student_version_#in~a|))} is VALID [2022-04-27 11:48:08,818 INFO L290 TraceCheckUtils]: 44: Hoare triple {189165#(and (<= |student_version_#in~m| student_version_~m) (<= (div (- student_version_~l~1) (- 10)) |student_version_#in~a|))} assume !(~l~1 < ~m); {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:08,818 INFO L290 TraceCheckUtils]: 45: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} ~x~1 := 0;~y~1 := 0; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:08,819 INFO L290 TraceCheckUtils]: 46: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:08,819 INFO L290 TraceCheckUtils]: 47: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} assume !(~x~1 < ~i~1); {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:08,819 INFO L290 TraceCheckUtils]: 48: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} #res := ~y~1; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:08,819 INFO L290 TraceCheckUtils]: 49: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} assume true; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:08,820 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} #113#return; {188940#false} is VALID [2022-04-27 11:48:08,820 INFO L290 TraceCheckUtils]: 51: Hoare triple {188940#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {188940#false} is VALID [2022-04-27 11:48:08,820 INFO L272 TraceCheckUtils]: 52: Hoare triple {188940#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {188940#false} is VALID [2022-04-27 11:48:08,820 INFO L290 TraceCheckUtils]: 53: Hoare triple {188940#false} ~cond := #in~cond; {188940#false} is VALID [2022-04-27 11:48:08,820 INFO L290 TraceCheckUtils]: 54: Hoare triple {188940#false} assume 0 == ~cond; {188940#false} is VALID [2022-04-27 11:48:08,821 INFO L290 TraceCheckUtils]: 55: Hoare triple {188940#false} assume !false; {188940#false} is VALID [2022-04-27 11:48:08,821 INFO L134 CoverageAnalysis]: Checked inductivity of 125 backedges. 0 proven. 121 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:48:08,821 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:48:11,173 INFO L290 TraceCheckUtils]: 55: Hoare triple {188940#false} assume !false; {188940#false} is VALID [2022-04-27 11:48:11,173 INFO L290 TraceCheckUtils]: 54: Hoare triple {188940#false} assume 0 == ~cond; {188940#false} is VALID [2022-04-27 11:48:11,174 INFO L290 TraceCheckUtils]: 53: Hoare triple {188940#false} ~cond := #in~cond; {188940#false} is VALID [2022-04-27 11:48:11,174 INFO L272 TraceCheckUtils]: 52: Hoare triple {188940#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {188940#false} is VALID [2022-04-27 11:48:11,174 INFO L290 TraceCheckUtils]: 51: Hoare triple {188940#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {188940#false} is VALID [2022-04-27 11:48:11,174 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} #113#return; {188940#false} is VALID [2022-04-27 11:48:11,174 INFO L290 TraceCheckUtils]: 49: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} assume true; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:11,175 INFO L290 TraceCheckUtils]: 48: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} #res := ~y~1; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:11,175 INFO L290 TraceCheckUtils]: 47: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} assume !(~x~1 < ~i~1); {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:11,175 INFO L290 TraceCheckUtils]: 46: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:11,175 INFO L290 TraceCheckUtils]: 45: Hoare triple {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} ~x~1 := 0;~y~1 := 0; {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:11,175 INFO L290 TraceCheckUtils]: 44: Hoare triple {189238#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< student_version_~l~1 student_version_~m))} assume !(~l~1 < ~m); {189011#(<= |student_version_#in~m| (* |student_version_#in~a| 10))} is VALID [2022-04-27 11:48:11,176 INFO L290 TraceCheckUtils]: 43: Hoare triple {189242#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {189238#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< student_version_~l~1 student_version_~m))} is VALID [2022-04-27 11:48:11,176 INFO L290 TraceCheckUtils]: 42: Hoare triple {189246#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ 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; {189242#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ student_version_~l~1 student_version_~a) student_version_~m))} is VALID [2022-04-27 11:48:11,176 INFO L290 TraceCheckUtils]: 41: Hoare triple {189250#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ (* 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; {189246#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ student_version_~l~1 (* 2 student_version_~a)) student_version_~m))} is VALID [2022-04-27 11:48:11,177 INFO L290 TraceCheckUtils]: 40: Hoare triple {189254#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ 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; {189250#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ (* 3 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-27 11:48:11,177 INFO L290 TraceCheckUtils]: 39: Hoare triple {189258#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ (* 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; {189254#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ student_version_~l~1 (* student_version_~a 4)) student_version_~m))} is VALID [2022-04-27 11:48:11,178 INFO L290 TraceCheckUtils]: 38: Hoare triple {189262#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ (* 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; {189258#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ (* 5 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-27 11:48:11,178 INFO L290 TraceCheckUtils]: 37: Hoare triple {189266#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ (* 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; {189262#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ (* 6 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-27 11:48:11,179 INFO L290 TraceCheckUtils]: 36: Hoare triple {189270#(or (< (+ (* 8 student_version_~a) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 10)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {189266#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ (* 7 student_version_~a) student_version_~l~1) student_version_~m))} is VALID [2022-04-27 11:48:11,179 INFO L290 TraceCheckUtils]: 35: Hoare triple {189274#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ student_version_~l~1 (* 9 student_version_~a)) student_version_~m))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {189270#(or (< (+ (* 8 student_version_~a) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 10)))} is VALID [2022-04-27 11:48:11,179 INFO L290 TraceCheckUtils]: 34: Hoare triple {189278#(or (< (+ (* student_version_~a 10) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 10)))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {189274#(or (<= |student_version_#in~m| (* |student_version_#in~a| 10)) (< (+ student_version_~l~1 (* 9 student_version_~a)) student_version_~m))} is VALID [2022-04-27 11:48:11,180 INFO L290 TraceCheckUtils]: 33: Hoare triple {189278#(or (< (+ (* student_version_~a 10) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 10)))} assume !(~b~1 < ~n); {189278#(or (< (+ (* student_version_~a 10) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 10)))} is VALID [2022-04-27 11:48:11,180 INFO L290 TraceCheckUtils]: 32: Hoare triple {189278#(or (< (+ (* student_version_~a 10) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 10)))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {189278#(or (< (+ (* student_version_~a 10) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 10)))} is VALID [2022-04-27 11:48:11,180 INFO L290 TraceCheckUtils]: 31: Hoare triple {188939#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {189278#(or (< (+ (* student_version_~a 10) student_version_~l~1) student_version_~m) (<= |student_version_#in~m| (* |student_version_#in~a| 10)))} is VALID [2022-04-27 11:48:11,180 INFO L272 TraceCheckUtils]: 30: Hoare triple {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {188939#true} is VALID [2022-04-27 11:48:11,181 INFO L290 TraceCheckUtils]: 29: Hoare triple {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} is VALID [2022-04-27 11:48:11,181 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} {188939#true} #111#return; {188965#(<= (+ (* main_~a~0 10) 1) main_~m~0)} is VALID [2022-04-27 11:48:11,181 INFO L290 TraceCheckUtils]: 27: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} assume true; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:11,181 INFO L290 TraceCheckUtils]: 26: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} #res := ~y~0; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:11,181 INFO L290 TraceCheckUtils]: 25: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} assume !(~x~0 < ~i~0); {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:11,182 INFO L290 TraceCheckUtils]: 24: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:11,182 INFO L290 TraceCheckUtils]: 23: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} ~x~0 := 0;~y~0 := 0; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:11,182 INFO L290 TraceCheckUtils]: 22: Hoare triple {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} assume !(~l~0 < ~m); {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:11,182 INFO L290 TraceCheckUtils]: 21: Hoare triple {189318#(or (<= (+ (* |correct_version_#in~a| 10) 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; {188999#(<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|)} is VALID [2022-04-27 11:48:11,183 INFO L290 TraceCheckUtils]: 20: Hoare triple {189322#(or (<= (+ (* |correct_version_#in~a| 10) 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; {189318#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (not (< correct_version_~l~0 correct_version_~m)))} is VALID [2022-04-27 11:48:11,183 INFO L290 TraceCheckUtils]: 19: Hoare triple {189326#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {189322#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 correct_version_~a)))} is VALID [2022-04-27 11:48:11,184 INFO L290 TraceCheckUtils]: 18: Hoare triple {189330#(or (<= (+ (* |correct_version_#in~a| 10) 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; {189326#(or (<= correct_version_~m (+ (* 2 correct_version_~a) correct_version_~l~0)) (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|))} is VALID [2022-04-27 11:48:11,184 INFO L290 TraceCheckUtils]: 17: Hoare triple {189334#(or (<= (+ (* |correct_version_#in~a| 10) 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; {189330#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 3 correct_version_~a))))} is VALID [2022-04-27 11:48:11,184 INFO L290 TraceCheckUtils]: 16: Hoare triple {189338#(or (<= (+ (* |correct_version_#in~a| 10) 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; {189334#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 4 correct_version_~a))))} is VALID [2022-04-27 11:48:11,185 INFO L290 TraceCheckUtils]: 15: Hoare triple {189342#(or (<= (+ (* |correct_version_#in~a| 10) 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; {189338#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 5 correct_version_~a))))} is VALID [2022-04-27 11:48:11,185 INFO L290 TraceCheckUtils]: 14: Hoare triple {189346#(or (<= (+ (* |correct_version_#in~a| 10) 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; {189342#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 6 correct_version_~a))))} is VALID [2022-04-27 11:48:11,186 INFO L290 TraceCheckUtils]: 13: Hoare triple {189350#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 8 correct_version_~a))))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {189346#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ (* 7 correct_version_~a) correct_version_~l~0)))} is VALID [2022-04-27 11:48:11,186 INFO L290 TraceCheckUtils]: 12: Hoare triple {189354#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ (* 9 correct_version_~a) correct_version_~l~0)))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {189350#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 8 correct_version_~a))))} is VALID [2022-04-27 11:48:11,186 INFO L290 TraceCheckUtils]: 11: Hoare triple {189358#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 10 correct_version_~a))))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {189354#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ (* 9 correct_version_~a) correct_version_~l~0)))} is VALID [2022-04-27 11:48:11,187 INFO L290 TraceCheckUtils]: 10: Hoare triple {189358#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 10 correct_version_~a))))} assume !(~b~0 < ~n); {189358#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 10 correct_version_~a))))} is VALID [2022-04-27 11:48:11,187 INFO L290 TraceCheckUtils]: 9: Hoare triple {189358#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 10 correct_version_~a))))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {189358#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 10 correct_version_~a))))} is VALID [2022-04-27 11:48:11,187 INFO L290 TraceCheckUtils]: 8: Hoare triple {188939#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {189358#(or (<= (+ (* |correct_version_#in~a| 10) 1) |correct_version_#in~m|) (<= correct_version_~m (+ correct_version_~l~0 (* 10 correct_version_~a))))} is VALID [2022-04-27 11:48:11,187 INFO L272 TraceCheckUtils]: 7: Hoare triple {188939#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {188939#true} is VALID [2022-04-27 11:48:11,188 INFO L290 TraceCheckUtils]: 6: Hoare triple {188939#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {188939#true} is VALID [2022-04-27 11:48:11,188 INFO L290 TraceCheckUtils]: 5: Hoare triple {188939#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {188939#true} is VALID [2022-04-27 11:48:11,188 INFO L272 TraceCheckUtils]: 4: Hoare triple {188939#true} call #t~ret10 := main(); {188939#true} is VALID [2022-04-27 11:48:11,188 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {188939#true} {188939#true} #117#return; {188939#true} is VALID [2022-04-27 11:48:11,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {188939#true} assume true; {188939#true} is VALID [2022-04-27 11:48:11,188 INFO L290 TraceCheckUtils]: 1: Hoare triple {188939#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {188939#true} is VALID [2022-04-27 11:48:11,188 INFO L272 TraceCheckUtils]: 0: Hoare triple {188939#true} call ULTIMATE.init(); {188939#true} is VALID [2022-04-27 11:48:11,188 INFO L134 CoverageAnalysis]: Checked inductivity of 125 backedges. 11 proven. 110 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 11:48:11,188 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [965477398] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:48:11,188 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:48:11,188 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 27, 27] total 73 [2022-04-27 11:48:11,188 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2016544481] [2022-04-27 11:48:11,188 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:48:11,189 INFO L78 Accepts]: Start accepts. Automaton has has 73 states, 73 states have (on average 1.452054794520548) internal successors, (106), 72 states have internal predecessors, (106), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 56 [2022-04-27 11:48:11,189 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:48:11,189 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 73 states, 73 states have (on average 1.452054794520548) internal successors, (106), 72 states have internal predecessors, (106), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:48:11,237 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:48:11,237 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 73 states [2022-04-27 11:48:11,237 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:48:11,238 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 73 interpolants. [2022-04-27 11:48:11,238 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=243, Invalid=5013, Unknown=0, NotChecked=0, Total=5256 [2022-04-27 11:48:11,238 INFO L87 Difference]: Start difference. First operand 925 states and 1041 transitions. Second operand has 73 states, 73 states have (on average 1.452054794520548) internal successors, (106), 72 states have internal predecessors, (106), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:48:31,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:48:31,544 INFO L93 Difference]: Finished difference Result 940 states and 1056 transitions. [2022-04-27 11:48:31,544 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 47 states. [2022-04-27 11:48:31,544 INFO L78 Accepts]: Start accepts. Automaton has has 73 states, 73 states have (on average 1.452054794520548) internal successors, (106), 72 states have internal predecessors, (106), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 56 [2022-04-27 11:48:31,544 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:48:31,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 73 states have (on average 1.452054794520548) internal successors, (106), 72 states have internal predecessors, (106), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:48:31,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 209 transitions. [2022-04-27 11:48:31,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 73 states have (on average 1.452054794520548) internal successors, (106), 72 states have internal predecessors, (106), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:48:31,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 209 transitions. [2022-04-27 11:48:31,547 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 209 transitions. [2022-04-27 11:48:31,737 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:48:31,780 INFO L225 Difference]: With dead ends: 940 [2022-04-27 11:48:31,780 INFO L226 Difference]: Without dead ends: 928 [2022-04-27 11:48:31,785 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 187 GetRequests, 66 SyntacticMatches, 6 SemanticMatches, 115 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1963 ImplicationChecksByTransitivity, 3.8s TimeCoverageRelationStatistics Valid=846, Invalid=12726, Unknown=0, NotChecked=0, Total=13572 [2022-04-27 11:48:31,785 INFO L413 NwaCegarLoop]: 128 mSDtfsCounter, 1473 mSDsluCounter, 227 mSDsCounter, 0 mSdLazyCounter, 7970 mSolverCounterSat, 149 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1494 SdHoareTripleChecker+Valid, 355 SdHoareTripleChecker+Invalid, 8119 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 149 IncrementalHoareTripleChecker+Valid, 7970 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.3s IncrementalHoareTripleChecker+Time [2022-04-27 11:48:31,786 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1494 Valid, 355 Invalid, 8119 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [149 Valid, 7970 Invalid, 0 Unknown, 0 Unchecked, 5.3s Time] [2022-04-27 11:48:31,786 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 928 states. [2022-04-27 11:48:39,119 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 928 to 926. [2022-04-27 11:48:39,119 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:48:39,120 INFO L82 GeneralOperation]: Start isEquivalent. First operand 928 states. Second operand has 926 states, 806 states have (on average 1.1364764267990075) internal successors, (916), 880 states have internal predecessors, (916), 42 states have call successors, (42), 5 states have call predecessors, (42), 77 states have return successors, (79), 40 states have call predecessors, (79), 40 states have call successors, (79) [2022-04-27 11:48:39,121 INFO L74 IsIncluded]: Start isIncluded. First operand 928 states. Second operand has 926 states, 806 states have (on average 1.1364764267990075) internal successors, (916), 880 states have internal predecessors, (916), 42 states have call successors, (42), 5 states have call predecessors, (42), 77 states have return successors, (79), 40 states have call predecessors, (79), 40 states have call successors, (79) [2022-04-27 11:48:39,121 INFO L87 Difference]: Start difference. First operand 928 states. Second operand has 926 states, 806 states have (on average 1.1364764267990075) internal successors, (916), 880 states have internal predecessors, (916), 42 states have call successors, (42), 5 states have call predecessors, (42), 77 states have return successors, (79), 40 states have call predecessors, (79), 40 states have call successors, (79) [2022-04-27 11:48:39,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:48:39,150 INFO L93 Difference]: Finished difference Result 928 states and 1039 transitions. [2022-04-27 11:48:39,151 INFO L276 IsEmpty]: Start isEmpty. Operand 928 states and 1039 transitions. [2022-04-27 11:48:39,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:48:39,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:48:39,157 INFO L74 IsIncluded]: Start isIncluded. First operand has 926 states, 806 states have (on average 1.1364764267990075) internal successors, (916), 880 states have internal predecessors, (916), 42 states have call successors, (42), 5 states have call predecessors, (42), 77 states have return successors, (79), 40 states have call predecessors, (79), 40 states have call successors, (79) Second operand 928 states. [2022-04-27 11:48:39,157 INFO L87 Difference]: Start difference. First operand has 926 states, 806 states have (on average 1.1364764267990075) internal successors, (916), 880 states have internal predecessors, (916), 42 states have call successors, (42), 5 states have call predecessors, (42), 77 states have return successors, (79), 40 states have call predecessors, (79), 40 states have call successors, (79) Second operand 928 states. [2022-04-27 11:48:39,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:48:39,187 INFO L93 Difference]: Finished difference Result 928 states and 1039 transitions. [2022-04-27 11:48:39,187 INFO L276 IsEmpty]: Start isEmpty. Operand 928 states and 1039 transitions. [2022-04-27 11:48:39,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:48:39,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:48:39,192 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:48:39,192 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:48:39,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 926 states, 806 states have (on average 1.1364764267990075) internal successors, (916), 880 states have internal predecessors, (916), 42 states have call successors, (42), 5 states have call predecessors, (42), 77 states have return successors, (79), 40 states have call predecessors, (79), 40 states have call successors, (79) [2022-04-27 11:48:39,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 926 states to 926 states and 1037 transitions. [2022-04-27 11:48:39,233 INFO L78 Accepts]: Start accepts. Automaton has 926 states and 1037 transitions. Word has length 56 [2022-04-27 11:48:39,233 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:48:39,233 INFO L495 AbstractCegarLoop]: Abstraction has 926 states and 1037 transitions. [2022-04-27 11:48:39,233 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 73 states, 73 states have (on average 1.452054794520548) internal successors, (106), 72 states have internal predecessors, (106), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 11:48:39,233 INFO L276 IsEmpty]: Start isEmpty. Operand 926 states and 1037 transitions. [2022-04-27 11:48:39,240 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-27 11:48:39,240 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:48:39,240 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:48:39,258 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (79)] Forceful destruction successful, exit code 0 [2022-04-27 11:48:39,456 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable87,79 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:48:39,456 INFO L420 AbstractCegarLoop]: === Iteration 89 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:48:39,456 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:48:39,456 INFO L85 PathProgramCache]: Analyzing trace with hash -2099731086, now seen corresponding path program 79 times [2022-04-27 11:48:39,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:48:39,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1370549590] [2022-04-27 11:48:39,457 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:48:39,457 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:48:39,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:39,475 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:48:39,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:39,476 INFO L290 TraceCheckUtils]: 0: Hoare triple {194126#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {194080#true} is VALID [2022-04-27 11:48:39,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {194080#true} assume true; {194080#true} is VALID [2022-04-27 11:48:39,476 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {194080#true} {194080#true} #117#return; {194080#true} is VALID [2022-04-27 11:48:39,476 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:48:39,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:39,567 INFO L290 TraceCheckUtils]: 0: Hoare triple {194080#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {194127#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,567 INFO L290 TraceCheckUtils]: 1: Hoare triple {194127#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194128#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {194128#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194129#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,568 INFO L290 TraceCheckUtils]: 3: Hoare triple {194129#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194130#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,569 INFO L290 TraceCheckUtils]: 4: Hoare triple {194130#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194131#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,569 INFO L290 TraceCheckUtils]: 5: Hoare triple {194131#(<= 4 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194132#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,569 INFO L290 TraceCheckUtils]: 6: Hoare triple {194132#(<= 5 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,570 INFO L290 TraceCheckUtils]: 7: Hoare triple {194133#(<= 6 correct_version_~i~0)} assume !(~b~0 < ~n); {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,570 INFO L290 TraceCheckUtils]: 8: Hoare triple {194133#(<= 6 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,570 INFO L290 TraceCheckUtils]: 9: Hoare triple {194133#(<= 6 correct_version_~i~0)} assume !(~l~0 < ~m); {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,570 INFO L290 TraceCheckUtils]: 10: Hoare triple {194133#(<= 6 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {194134#(<= (+ correct_version_~x~0 6) correct_version_~i~0)} is VALID [2022-04-27 11:48:39,571 INFO L290 TraceCheckUtils]: 11: Hoare triple {194134#(<= (+ correct_version_~x~0 6) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {194135#(<= (+ correct_version_~x~0 5) correct_version_~i~0)} is VALID [2022-04-27 11:48:39,571 INFO L290 TraceCheckUtils]: 12: Hoare triple {194135#(<= (+ 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; {194136#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} is VALID [2022-04-27 11:48:39,572 INFO L290 TraceCheckUtils]: 13: Hoare triple {194136#(<= (+ 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; {194137#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-27 11:48:39,572 INFO L290 TraceCheckUtils]: 14: Hoare triple {194137#(<= (+ 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; {194138#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-27 11:48:39,573 INFO L290 TraceCheckUtils]: 15: Hoare triple {194138#(<= (+ 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; {194139#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:48:39,573 INFO L290 TraceCheckUtils]: 16: Hoare triple {194139#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {194081#false} is VALID [2022-04-27 11:48:39,573 INFO L290 TraceCheckUtils]: 17: Hoare triple {194081#false} #res := ~y~0; {194081#false} is VALID [2022-04-27 11:48:39,573 INFO L290 TraceCheckUtils]: 18: Hoare triple {194081#false} assume true; {194081#false} is VALID [2022-04-27 11:48:39,573 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {194081#false} {194080#true} #111#return; {194081#false} is VALID [2022-04-27 11:48:39,573 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-04-27 11:48:39,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:39,581 INFO L290 TraceCheckUtils]: 0: Hoare triple {194080#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {194080#true} is VALID [2022-04-27 11:48:39,581 INFO L290 TraceCheckUtils]: 1: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:39,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:39,581 INFO L290 TraceCheckUtils]: 3: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:39,581 INFO L290 TraceCheckUtils]: 4: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:39,581 INFO L290 TraceCheckUtils]: 5: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:39,581 INFO L290 TraceCheckUtils]: 6: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:39,581 INFO L290 TraceCheckUtils]: 7: Hoare triple {194080#true} assume !(~b~1 < ~n); {194080#true} is VALID [2022-04-27 11:48:39,581 INFO L290 TraceCheckUtils]: 8: Hoare triple {194080#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {194080#true} is VALID [2022-04-27 11:48:39,581 INFO L290 TraceCheckUtils]: 9: Hoare triple {194080#true} assume !(~l~1 < ~m); {194080#true} is VALID [2022-04-27 11:48:39,581 INFO L290 TraceCheckUtils]: 10: Hoare triple {194080#true} ~x~1 := 0;~y~1 := 0; {194080#true} is VALID [2022-04-27 11:48:39,581 INFO L290 TraceCheckUtils]: 11: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:39,581 INFO L290 TraceCheckUtils]: 12: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:39,582 INFO L290 TraceCheckUtils]: 13: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:39,582 INFO L290 TraceCheckUtils]: 14: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:39,582 INFO L290 TraceCheckUtils]: 15: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:39,582 INFO L290 TraceCheckUtils]: 16: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:39,582 INFO L290 TraceCheckUtils]: 17: Hoare triple {194080#true} assume !(~x~1 < ~i~1); {194080#true} is VALID [2022-04-27 11:48:39,582 INFO L290 TraceCheckUtils]: 18: Hoare triple {194080#true} #res := ~y~1; {194080#true} is VALID [2022-04-27 11:48:39,582 INFO L290 TraceCheckUtils]: 19: Hoare triple {194080#true} assume true; {194080#true} is VALID [2022-04-27 11:48:39,582 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {194080#true} {194081#false} #113#return; {194081#false} is VALID [2022-04-27 11:48:39,582 INFO L272 TraceCheckUtils]: 0: Hoare triple {194080#true} call ULTIMATE.init(); {194126#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:48:39,582 INFO L290 TraceCheckUtils]: 1: Hoare triple {194126#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {194080#true} is VALID [2022-04-27 11:48:39,582 INFO L290 TraceCheckUtils]: 2: Hoare triple {194080#true} assume true; {194080#true} is VALID [2022-04-27 11:48:39,582 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {194080#true} {194080#true} #117#return; {194080#true} is VALID [2022-04-27 11:48:39,582 INFO L272 TraceCheckUtils]: 4: Hoare triple {194080#true} call #t~ret10 := main(); {194080#true} is VALID [2022-04-27 11:48:39,583 INFO L290 TraceCheckUtils]: 5: Hoare triple {194080#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {194080#true} is VALID [2022-04-27 11:48:39,583 INFO L290 TraceCheckUtils]: 6: Hoare triple {194080#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {194080#true} is VALID [2022-04-27 11:48:39,583 INFO L272 TraceCheckUtils]: 7: Hoare triple {194080#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {194080#true} is VALID [2022-04-27 11:48:39,583 INFO L290 TraceCheckUtils]: 8: Hoare triple {194080#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {194127#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,583 INFO L290 TraceCheckUtils]: 9: Hoare triple {194127#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194128#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,584 INFO L290 TraceCheckUtils]: 10: Hoare triple {194128#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194129#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,584 INFO L290 TraceCheckUtils]: 11: Hoare triple {194129#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194130#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,585 INFO L290 TraceCheckUtils]: 12: Hoare triple {194130#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194131#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,585 INFO L290 TraceCheckUtils]: 13: Hoare triple {194131#(<= 4 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194132#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,585 INFO L290 TraceCheckUtils]: 14: Hoare triple {194132#(<= 5 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,586 INFO L290 TraceCheckUtils]: 15: Hoare triple {194133#(<= 6 correct_version_~i~0)} assume !(~b~0 < ~n); {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,586 INFO L290 TraceCheckUtils]: 16: Hoare triple {194133#(<= 6 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,586 INFO L290 TraceCheckUtils]: 17: Hoare triple {194133#(<= 6 correct_version_~i~0)} assume !(~l~0 < ~m); {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,586 INFO L290 TraceCheckUtils]: 18: Hoare triple {194133#(<= 6 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {194134#(<= (+ correct_version_~x~0 6) correct_version_~i~0)} is VALID [2022-04-27 11:48:39,587 INFO L290 TraceCheckUtils]: 19: Hoare triple {194134#(<= (+ correct_version_~x~0 6) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {194135#(<= (+ correct_version_~x~0 5) correct_version_~i~0)} is VALID [2022-04-27 11:48:39,587 INFO L290 TraceCheckUtils]: 20: Hoare triple {194135#(<= (+ 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; {194136#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} is VALID [2022-04-27 11:48:39,588 INFO L290 TraceCheckUtils]: 21: Hoare triple {194136#(<= (+ 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; {194137#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-27 11:48:39,588 INFO L290 TraceCheckUtils]: 22: Hoare triple {194137#(<= (+ 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; {194138#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-27 11:48:39,589 INFO L290 TraceCheckUtils]: 23: Hoare triple {194138#(<= (+ 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; {194139#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:48:39,589 INFO L290 TraceCheckUtils]: 24: Hoare triple {194139#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {194081#false} is VALID [2022-04-27 11:48:39,589 INFO L290 TraceCheckUtils]: 25: Hoare triple {194081#false} #res := ~y~0; {194081#false} is VALID [2022-04-27 11:48:39,589 INFO L290 TraceCheckUtils]: 26: Hoare triple {194081#false} assume true; {194081#false} is VALID [2022-04-27 11:48:39,589 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {194081#false} {194080#true} #111#return; {194081#false} is VALID [2022-04-27 11:48:39,589 INFO L290 TraceCheckUtils]: 28: Hoare triple {194081#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {194081#false} is VALID [2022-04-27 11:48:39,589 INFO L272 TraceCheckUtils]: 29: Hoare triple {194081#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {194080#true} is VALID [2022-04-27 11:48:39,589 INFO L290 TraceCheckUtils]: 30: Hoare triple {194080#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {194080#true} is VALID [2022-04-27 11:48:39,589 INFO L290 TraceCheckUtils]: 31: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:39,589 INFO L290 TraceCheckUtils]: 32: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:39,589 INFO L290 TraceCheckUtils]: 33: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:39,589 INFO L290 TraceCheckUtils]: 34: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 35: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 36: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 37: Hoare triple {194080#true} assume !(~b~1 < ~n); {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 38: Hoare triple {194080#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 39: Hoare triple {194080#true} assume !(~l~1 < ~m); {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 40: Hoare triple {194080#true} ~x~1 := 0;~y~1 := 0; {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 41: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 42: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 43: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 44: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 45: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 46: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 47: Hoare triple {194080#true} assume !(~x~1 < ~i~1); {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 48: Hoare triple {194080#true} #res := ~y~1; {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 49: Hoare triple {194080#true} assume true; {194080#true} is VALID [2022-04-27 11:48:39,590 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {194080#true} {194081#false} #113#return; {194081#false} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 51: Hoare triple {194081#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {194081#false} is VALID [2022-04-27 11:48:39,590 INFO L272 TraceCheckUtils]: 52: Hoare triple {194081#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {194081#false} is VALID [2022-04-27 11:48:39,590 INFO L290 TraceCheckUtils]: 53: Hoare triple {194081#false} ~cond := #in~cond; {194081#false} is VALID [2022-04-27 11:48:39,591 INFO L290 TraceCheckUtils]: 54: Hoare triple {194081#false} assume 0 == ~cond; {194081#false} is VALID [2022-04-27 11:48:39,591 INFO L290 TraceCheckUtils]: 55: Hoare triple {194081#false} assume !false; {194081#false} is VALID [2022-04-27 11:48:39,591 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 21 proven. 15 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-27 11:48:39,591 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:48:39,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1370549590] [2022-04-27 11:48:39,591 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1370549590] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:48:39,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1096991035] [2022-04-27 11:48:39,591 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-04-27 11:48:39,591 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:48:39,591 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:48:39,593 INFO L229 MonitoredProcess]: Starting monitored process 80 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:48:39,593 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (80)] Waiting until timeout for monitored process [2022-04-27 11:48:39,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:39,723 INFO L263 TraceCheckSpWp]: Trace formula consists of 273 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 11:48:39,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:39,733 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:48:39,954 INFO L272 TraceCheckUtils]: 0: Hoare triple {194080#true} call ULTIMATE.init(); {194080#true} is VALID [2022-04-27 11:48:39,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {194080#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {194080#true} is VALID [2022-04-27 11:48:39,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {194080#true} assume true; {194080#true} is VALID [2022-04-27 11:48:39,954 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {194080#true} {194080#true} #117#return; {194080#true} is VALID [2022-04-27 11:48:39,954 INFO L272 TraceCheckUtils]: 4: Hoare triple {194080#true} call #t~ret10 := main(); {194080#true} is VALID [2022-04-27 11:48:39,954 INFO L290 TraceCheckUtils]: 5: Hoare triple {194080#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {194080#true} is VALID [2022-04-27 11:48:39,954 INFO L290 TraceCheckUtils]: 6: Hoare triple {194080#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {194080#true} is VALID [2022-04-27 11:48:39,954 INFO L272 TraceCheckUtils]: 7: Hoare triple {194080#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {194080#true} is VALID [2022-04-27 11:48:39,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {194080#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {194127#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {194127#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194128#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,956 INFO L290 TraceCheckUtils]: 10: Hoare triple {194128#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194129#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,956 INFO L290 TraceCheckUtils]: 11: Hoare triple {194129#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194130#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,956 INFO L290 TraceCheckUtils]: 12: Hoare triple {194130#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194131#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,957 INFO L290 TraceCheckUtils]: 13: Hoare triple {194131#(<= 4 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194132#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,957 INFO L290 TraceCheckUtils]: 14: Hoare triple {194132#(<= 5 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,957 INFO L290 TraceCheckUtils]: 15: Hoare triple {194133#(<= 6 correct_version_~i~0)} assume !(~b~0 < ~n); {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,958 INFO L290 TraceCheckUtils]: 16: Hoare triple {194133#(<= 6 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,958 INFO L290 TraceCheckUtils]: 17: Hoare triple {194133#(<= 6 correct_version_~i~0)} assume !(~l~0 < ~m); {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:39,958 INFO L290 TraceCheckUtils]: 18: Hoare triple {194133#(<= 6 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {194197#(and (<= 6 correct_version_~i~0) (<= correct_version_~x~0 0))} is VALID [2022-04-27 11:48:39,959 INFO L290 TraceCheckUtils]: 19: Hoare triple {194197#(and (<= 6 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; {194201#(and (<= 6 correct_version_~i~0) (<= correct_version_~x~0 1))} is VALID [2022-04-27 11:48:39,959 INFO L290 TraceCheckUtils]: 20: Hoare triple {194201#(and (<= 6 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; {194205#(and (<= 6 correct_version_~i~0) (<= correct_version_~x~0 2))} is VALID [2022-04-27 11:48:39,959 INFO L290 TraceCheckUtils]: 21: Hoare triple {194205#(and (<= 6 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; {194209#(and (<= 6 correct_version_~i~0) (<= correct_version_~x~0 3))} is VALID [2022-04-27 11:48:39,960 INFO L290 TraceCheckUtils]: 22: Hoare triple {194209#(and (<= 6 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; {194213#(and (<= 6 correct_version_~i~0) (<= correct_version_~x~0 4))} is VALID [2022-04-27 11:48:39,960 INFO L290 TraceCheckUtils]: 23: Hoare triple {194213#(and (<= 6 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; {194217#(and (<= 6 correct_version_~i~0) (<= correct_version_~x~0 5))} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 24: Hoare triple {194217#(and (<= 6 correct_version_~i~0) (<= correct_version_~x~0 5))} assume !(~x~0 < ~i~0); {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 25: Hoare triple {194081#false} #res := ~y~0; {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 26: Hoare triple {194081#false} assume true; {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {194081#false} {194080#true} #111#return; {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 28: Hoare triple {194081#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L272 TraceCheckUtils]: 29: Hoare triple {194081#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 30: Hoare triple {194081#false} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 31: Hoare triple {194081#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 32: Hoare triple {194081#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 33: Hoare triple {194081#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 34: Hoare triple {194081#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 35: Hoare triple {194081#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 36: Hoare triple {194081#false} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 37: Hoare triple {194081#false} assume !(~b~1 < ~n); {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 38: Hoare triple {194081#false} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 39: Hoare triple {194081#false} assume !(~l~1 < ~m); {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 40: Hoare triple {194081#false} ~x~1 := 0;~y~1 := 0; {194081#false} is VALID [2022-04-27 11:48:39,961 INFO L290 TraceCheckUtils]: 41: Hoare triple {194081#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194081#false} is VALID [2022-04-27 11:48:39,962 INFO L290 TraceCheckUtils]: 42: Hoare triple {194081#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194081#false} is VALID [2022-04-27 11:48:39,962 INFO L290 TraceCheckUtils]: 43: Hoare triple {194081#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194081#false} is VALID [2022-04-27 11:48:39,962 INFO L290 TraceCheckUtils]: 44: Hoare triple {194081#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194081#false} is VALID [2022-04-27 11:48:39,962 INFO L290 TraceCheckUtils]: 45: Hoare triple {194081#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194081#false} is VALID [2022-04-27 11:48:39,962 INFO L290 TraceCheckUtils]: 46: Hoare triple {194081#false} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194081#false} is VALID [2022-04-27 11:48:39,962 INFO L290 TraceCheckUtils]: 47: Hoare triple {194081#false} assume !(~x~1 < ~i~1); {194081#false} is VALID [2022-04-27 11:48:39,962 INFO L290 TraceCheckUtils]: 48: Hoare triple {194081#false} #res := ~y~1; {194081#false} is VALID [2022-04-27 11:48:39,962 INFO L290 TraceCheckUtils]: 49: Hoare triple {194081#false} assume true; {194081#false} is VALID [2022-04-27 11:48:39,962 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {194081#false} {194081#false} #113#return; {194081#false} is VALID [2022-04-27 11:48:39,962 INFO L290 TraceCheckUtils]: 51: Hoare triple {194081#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {194081#false} is VALID [2022-04-27 11:48:39,962 INFO L272 TraceCheckUtils]: 52: Hoare triple {194081#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {194081#false} is VALID [2022-04-27 11:48:39,962 INFO L290 TraceCheckUtils]: 53: Hoare triple {194081#false} ~cond := #in~cond; {194081#false} is VALID [2022-04-27 11:48:39,962 INFO L290 TraceCheckUtils]: 54: Hoare triple {194081#false} assume 0 == ~cond; {194081#false} is VALID [2022-04-27 11:48:39,962 INFO L290 TraceCheckUtils]: 55: Hoare triple {194081#false} assume !false; {194081#false} is VALID [2022-04-27 11:48:39,962 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 21 proven. 15 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-27 11:48:39,962 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:48:40,170 INFO L290 TraceCheckUtils]: 55: Hoare triple {194081#false} assume !false; {194081#false} is VALID [2022-04-27 11:48:40,170 INFO L290 TraceCheckUtils]: 54: Hoare triple {194081#false} assume 0 == ~cond; {194081#false} is VALID [2022-04-27 11:48:40,170 INFO L290 TraceCheckUtils]: 53: Hoare triple {194081#false} ~cond := #in~cond; {194081#false} is VALID [2022-04-27 11:48:40,170 INFO L272 TraceCheckUtils]: 52: Hoare triple {194081#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {194081#false} is VALID [2022-04-27 11:48:40,170 INFO L290 TraceCheckUtils]: 51: Hoare triple {194081#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {194081#false} is VALID [2022-04-27 11:48:40,170 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {194080#true} {194081#false} #113#return; {194081#false} is VALID [2022-04-27 11:48:40,170 INFO L290 TraceCheckUtils]: 49: Hoare triple {194080#true} assume true; {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 48: Hoare triple {194080#true} #res := ~y~1; {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 47: Hoare triple {194080#true} assume !(~x~1 < ~i~1); {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 46: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 45: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 44: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 43: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 42: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 41: Hoare triple {194080#true} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 40: Hoare triple {194080#true} ~x~1 := 0;~y~1 := 0; {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 39: Hoare triple {194080#true} assume !(~l~1 < ~m); {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 38: Hoare triple {194080#true} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 37: Hoare triple {194080#true} assume !(~b~1 < ~n); {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 36: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 35: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 34: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 33: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 32: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:40,171 INFO L290 TraceCheckUtils]: 31: Hoare triple {194080#true} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {194080#true} is VALID [2022-04-27 11:48:40,172 INFO L290 TraceCheckUtils]: 30: Hoare triple {194080#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {194080#true} is VALID [2022-04-27 11:48:40,172 INFO L272 TraceCheckUtils]: 29: Hoare triple {194081#false} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {194080#true} is VALID [2022-04-27 11:48:40,172 INFO L290 TraceCheckUtils]: 28: Hoare triple {194081#false} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {194081#false} is VALID [2022-04-27 11:48:40,172 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {194081#false} {194080#true} #111#return; {194081#false} is VALID [2022-04-27 11:48:40,172 INFO L290 TraceCheckUtils]: 26: Hoare triple {194081#false} assume true; {194081#false} is VALID [2022-04-27 11:48:40,172 INFO L290 TraceCheckUtils]: 25: Hoare triple {194081#false} #res := ~y~0; {194081#false} is VALID [2022-04-27 11:48:40,172 INFO L290 TraceCheckUtils]: 24: Hoare triple {194139#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} assume !(~x~0 < ~i~0); {194081#false} is VALID [2022-04-27 11:48:40,172 INFO L290 TraceCheckUtils]: 23: Hoare triple {194138#(<= (+ 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; {194139#(<= (+ correct_version_~x~0 1) correct_version_~i~0)} is VALID [2022-04-27 11:48:40,173 INFO L290 TraceCheckUtils]: 22: Hoare triple {194137#(<= (+ 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; {194138#(<= (+ correct_version_~x~0 2) correct_version_~i~0)} is VALID [2022-04-27 11:48:40,173 INFO L290 TraceCheckUtils]: 21: Hoare triple {194136#(<= (+ 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; {194137#(<= (+ correct_version_~x~0 3) correct_version_~i~0)} is VALID [2022-04-27 11:48:40,174 INFO L290 TraceCheckUtils]: 20: Hoare triple {194135#(<= (+ 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; {194136#(<= (+ correct_version_~x~0 4) correct_version_~i~0)} is VALID [2022-04-27 11:48:40,174 INFO L290 TraceCheckUtils]: 19: Hoare triple {194134#(<= (+ correct_version_~x~0 6) correct_version_~i~0)} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {194135#(<= (+ correct_version_~x~0 5) correct_version_~i~0)} is VALID [2022-04-27 11:48:40,174 INFO L290 TraceCheckUtils]: 18: Hoare triple {194133#(<= 6 correct_version_~i~0)} ~x~0 := 0;~y~0 := 0; {194134#(<= (+ correct_version_~x~0 6) correct_version_~i~0)} is VALID [2022-04-27 11:48:40,174 INFO L290 TraceCheckUtils]: 17: Hoare triple {194133#(<= 6 correct_version_~i~0)} assume !(~l~0 < ~m); {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:40,175 INFO L290 TraceCheckUtils]: 16: Hoare triple {194133#(<= 6 correct_version_~i~0)} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:40,175 INFO L290 TraceCheckUtils]: 15: Hoare triple {194133#(<= 6 correct_version_~i~0)} assume !(~b~0 < ~n); {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:40,175 INFO L290 TraceCheckUtils]: 14: Hoare triple {194132#(<= 5 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194133#(<= 6 correct_version_~i~0)} is VALID [2022-04-27 11:48:40,176 INFO L290 TraceCheckUtils]: 13: Hoare triple {194131#(<= 4 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194132#(<= 5 correct_version_~i~0)} is VALID [2022-04-27 11:48:40,176 INFO L290 TraceCheckUtils]: 12: Hoare triple {194130#(<= 3 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194131#(<= 4 correct_version_~i~0)} is VALID [2022-04-27 11:48:40,176 INFO L290 TraceCheckUtils]: 11: Hoare triple {194129#(<= 2 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194130#(<= 3 correct_version_~i~0)} is VALID [2022-04-27 11:48:40,177 INFO L290 TraceCheckUtils]: 10: Hoare triple {194128#(<= 1 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194129#(<= 2 correct_version_~i~0)} is VALID [2022-04-27 11:48:40,177 INFO L290 TraceCheckUtils]: 9: Hoare triple {194127#(<= 0 correct_version_~i~0)} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {194128#(<= 1 correct_version_~i~0)} is VALID [2022-04-27 11:48:40,177 INFO L290 TraceCheckUtils]: 8: Hoare triple {194080#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {194127#(<= 0 correct_version_~i~0)} is VALID [2022-04-27 11:48:40,177 INFO L272 TraceCheckUtils]: 7: Hoare triple {194080#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {194080#true} is VALID [2022-04-27 11:48:40,177 INFO L290 TraceCheckUtils]: 6: Hoare triple {194080#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {194080#true} is VALID [2022-04-27 11:48:40,177 INFO L290 TraceCheckUtils]: 5: Hoare triple {194080#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {194080#true} is VALID [2022-04-27 11:48:40,177 INFO L272 TraceCheckUtils]: 4: Hoare triple {194080#true} call #t~ret10 := main(); {194080#true} is VALID [2022-04-27 11:48:40,178 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {194080#true} {194080#true} #117#return; {194080#true} is VALID [2022-04-27 11:48:40,178 INFO L290 TraceCheckUtils]: 2: Hoare triple {194080#true} assume true; {194080#true} is VALID [2022-04-27 11:48:40,178 INFO L290 TraceCheckUtils]: 1: Hoare triple {194080#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {194080#true} is VALID [2022-04-27 11:48:40,178 INFO L272 TraceCheckUtils]: 0: Hoare triple {194080#true} call ULTIMATE.init(); {194080#true} is VALID [2022-04-27 11:48:40,178 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 21 proven. 15 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-27 11:48:40,178 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1096991035] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:48:40,178 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:48:40,178 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 15, 15] total 22 [2022-04-27 11:48:40,178 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1458081385] [2022-04-27 11:48:40,178 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:48:40,178 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 21 states have internal predecessors, (56), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 56 [2022-04-27 11:48:40,179 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:48:40,179 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 21 states have internal predecessors, (56), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:48:40,202 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:48:40,202 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-27 11:48:40,202 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:48:40,203 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-27 11:48:40,203 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=155, Invalid=307, Unknown=0, NotChecked=0, Total=462 [2022-04-27 11:48:40,203 INFO L87 Difference]: Start difference. First operand 926 states and 1037 transitions. Second operand has 22 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 21 states have internal predecessors, (56), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:48:48,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:48:48,185 INFO L93 Difference]: Finished difference Result 1404 states and 1549 transitions. [2022-04-27 11:48:48,185 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-04-27 11:48:48,185 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 21 states have internal predecessors, (56), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 56 [2022-04-27 11:48:48,185 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:48:48,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 21 states have internal predecessors, (56), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:48:48,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 126 transitions. [2022-04-27 11:48:48,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 21 states have internal predecessors, (56), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:48:48,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 126 transitions. [2022-04-27 11:48:48,187 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 126 transitions. [2022-04-27 11:48:48,271 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-27 11:48:48,320 INFO L225 Difference]: With dead ends: 1404 [2022-04-27 11:48:48,320 INFO L226 Difference]: Without dead ends: 925 [2022-04-27 11:48:48,326 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 111 SyntacticMatches, 1 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 576 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=764, Invalid=1686, Unknown=0, NotChecked=0, Total=2450 [2022-04-27 11:48:48,326 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 88 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 387 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 84 SdHoareTripleChecker+Invalid, 437 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 387 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:48:48,326 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [90 Valid, 84 Invalid, 437 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 387 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 11:48:48,327 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 925 states. [2022-04-27 11:48:56,881 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 925 to 917. [2022-04-27 11:48:56,881 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:48:56,882 INFO L82 GeneralOperation]: Start isEquivalent. First operand 925 states. Second operand has 917 states, 803 states have (on average 1.13200498132005) internal successors, (909), 873 states have internal predecessors, (909), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (73), 38 states have call predecessors, (73), 38 states have call successors, (73) [2022-04-27 11:48:56,883 INFO L74 IsIncluded]: Start isIncluded. First operand 925 states. Second operand has 917 states, 803 states have (on average 1.13200498132005) internal successors, (909), 873 states have internal predecessors, (909), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (73), 38 states have call predecessors, (73), 38 states have call successors, (73) [2022-04-27 11:48:56,883 INFO L87 Difference]: Start difference. First operand 925 states. Second operand has 917 states, 803 states have (on average 1.13200498132005) internal successors, (909), 873 states have internal predecessors, (909), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (73), 38 states have call predecessors, (73), 38 states have call successors, (73) [2022-04-27 11:48:56,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:48:56,912 INFO L93 Difference]: Finished difference Result 925 states and 1032 transitions. [2022-04-27 11:48:56,912 INFO L276 IsEmpty]: Start isEmpty. Operand 925 states and 1032 transitions. [2022-04-27 11:48:56,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:48:56,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:48:56,918 INFO L74 IsIncluded]: Start isIncluded. First operand has 917 states, 803 states have (on average 1.13200498132005) internal successors, (909), 873 states have internal predecessors, (909), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (73), 38 states have call predecessors, (73), 38 states have call successors, (73) Second operand 925 states. [2022-04-27 11:48:56,918 INFO L87 Difference]: Start difference. First operand has 917 states, 803 states have (on average 1.13200498132005) internal successors, (909), 873 states have internal predecessors, (909), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (73), 38 states have call predecessors, (73), 38 states have call successors, (73) Second operand 925 states. [2022-04-27 11:48:56,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:48:56,947 INFO L93 Difference]: Finished difference Result 925 states and 1032 transitions. [2022-04-27 11:48:56,947 INFO L276 IsEmpty]: Start isEmpty. Operand 925 states and 1032 transitions. [2022-04-27 11:48:56,953 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:48:56,953 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:48:56,953 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:48:56,953 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:48:56,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 917 states, 803 states have (on average 1.13200498132005) internal successors, (909), 873 states have internal predecessors, (909), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (73), 38 states have call predecessors, (73), 38 states have call successors, (73) [2022-04-27 11:48:56,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 917 states to 917 states and 1022 transitions. [2022-04-27 11:48:56,992 INFO L78 Accepts]: Start accepts. Automaton has 917 states and 1022 transitions. Word has length 56 [2022-04-27 11:48:56,992 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:48:56,992 INFO L495 AbstractCegarLoop]: Abstraction has 917 states and 1022 transitions. [2022-04-27 11:48:56,992 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 21 states have internal predecessors, (56), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:48:56,993 INFO L276 IsEmpty]: Start isEmpty. Operand 917 states and 1022 transitions. [2022-04-27 11:48:56,998 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-27 11:48:56,999 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:48:56,999 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 11:48:57,015 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (80)] Forceful destruction successful, exit code 0 [2022-04-27 11:48:57,201 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 80 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable88 [2022-04-27 11:48:57,201 INFO L420 AbstractCegarLoop]: === Iteration 90 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:48:57,202 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:48:57,202 INFO L85 PathProgramCache]: Analyzing trace with hash -1863657747, now seen corresponding path program 80 times [2022-04-27 11:48:57,202 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:48:57,202 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [928035766] [2022-04-27 11:48:57,202 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:48:57,202 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:48:57,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:57,228 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:48:57,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:57,230 INFO L290 TraceCheckUtils]: 0: Hoare triple {199849#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {199803#true} is VALID [2022-04-27 11:48:57,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {199803#true} assume true; {199803#true} is VALID [2022-04-27 11:48:57,230 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {199803#true} {199803#true} #117#return; {199803#true} is VALID [2022-04-27 11:48:57,230 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:48:57,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:57,244 INFO L290 TraceCheckUtils]: 0: Hoare triple {199803#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 1: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 2: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 3: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 4: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 5: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 6: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 7: Hoare triple {199803#true} assume !(~b~0 < ~n); {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 8: Hoare triple {199803#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 9: Hoare triple {199803#true} assume !(~l~0 < ~m); {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 10: Hoare triple {199803#true} ~x~0 := 0;~y~0 := 0; {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 11: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 12: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 13: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 14: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 15: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 16: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 17: Hoare triple {199803#true} assume !(~x~0 < ~i~0); {199803#true} is VALID [2022-04-27 11:48:57,245 INFO L290 TraceCheckUtils]: 18: Hoare triple {199803#true} #res := ~y~0; {199803#true} is VALID [2022-04-27 11:48:57,246 INFO L290 TraceCheckUtils]: 19: Hoare triple {199803#true} assume true; {199803#true} is VALID [2022-04-27 11:48:57,246 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {199803#true} {199803#true} #111#return; {199803#true} is VALID [2022-04-27 11:48:57,246 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-27 11:48:57,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:57,414 INFO L290 TraceCheckUtils]: 0: Hoare triple {199803#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {199850#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:48:57,415 INFO L290 TraceCheckUtils]: 1: Hoare triple {199850#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199851#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:48:57,415 INFO L290 TraceCheckUtils]: 2: Hoare triple {199851#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199852#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:48:57,416 INFO L290 TraceCheckUtils]: 3: Hoare triple {199852#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199853#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:48:57,416 INFO L290 TraceCheckUtils]: 4: Hoare triple {199853#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199854#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:48:57,416 INFO L290 TraceCheckUtils]: 5: Hoare triple {199854#(<= 4 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199855#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:48:57,417 INFO L290 TraceCheckUtils]: 6: Hoare triple {199855#(<= 5 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,417 INFO L290 TraceCheckUtils]: 7: Hoare triple {199856#(<= 6 student_version_~i~1)} assume !(~b~1 < ~n); {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,417 INFO L290 TraceCheckUtils]: 8: Hoare triple {199856#(<= 6 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,418 INFO L290 TraceCheckUtils]: 9: Hoare triple {199856#(<= 6 student_version_~i~1)} assume !(~l~1 < ~m); {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,418 INFO L290 TraceCheckUtils]: 10: Hoare triple {199856#(<= 6 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {199857#(<= (+ 6 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:48:57,418 INFO L290 TraceCheckUtils]: 11: Hoare triple {199857#(<= (+ 6 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {199858#(<= (+ 5 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:48:57,419 INFO L290 TraceCheckUtils]: 12: Hoare triple {199858#(<= (+ 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; {199859#(<= (+ student_version_~x~1 4) student_version_~i~1)} is VALID [2022-04-27 11:48:57,419 INFO L290 TraceCheckUtils]: 13: Hoare triple {199859#(<= (+ 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; {199860#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:48:57,420 INFO L290 TraceCheckUtils]: 14: Hoare triple {199860#(<= (+ 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; {199861#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:48:57,420 INFO L290 TraceCheckUtils]: 15: Hoare triple {199861#(<= (+ 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; {199862#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:48:57,420 INFO L290 TraceCheckUtils]: 16: Hoare triple {199862#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {199804#false} is VALID [2022-04-27 11:48:57,420 INFO L290 TraceCheckUtils]: 17: Hoare triple {199804#false} #res := ~y~1; {199804#false} is VALID [2022-04-27 11:48:57,421 INFO L290 TraceCheckUtils]: 18: Hoare triple {199804#false} assume true; {199804#false} is VALID [2022-04-27 11:48:57,421 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {199804#false} {199803#true} #113#return; {199804#false} is VALID [2022-04-27 11:48:57,421 INFO L272 TraceCheckUtils]: 0: Hoare triple {199803#true} call ULTIMATE.init(); {199849#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:48:57,421 INFO L290 TraceCheckUtils]: 1: Hoare triple {199849#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {199803#true} is VALID [2022-04-27 11:48:57,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {199803#true} assume true; {199803#true} is VALID [2022-04-27 11:48:57,421 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {199803#true} {199803#true} #117#return; {199803#true} is VALID [2022-04-27 11:48:57,421 INFO L272 TraceCheckUtils]: 4: Hoare triple {199803#true} call #t~ret10 := main(); {199803#true} is VALID [2022-04-27 11:48:57,421 INFO L290 TraceCheckUtils]: 5: Hoare triple {199803#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {199803#true} is VALID [2022-04-27 11:48:57,421 INFO L290 TraceCheckUtils]: 6: Hoare triple {199803#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {199803#true} is VALID [2022-04-27 11:48:57,421 INFO L272 TraceCheckUtils]: 7: Hoare triple {199803#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {199803#true} is VALID [2022-04-27 11:48:57,421 INFO L290 TraceCheckUtils]: 8: Hoare triple {199803#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 9: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 10: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 11: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 12: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 13: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 14: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 15: Hoare triple {199803#true} assume !(~b~0 < ~n); {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 16: Hoare triple {199803#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 17: Hoare triple {199803#true} assume !(~l~0 < ~m); {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 18: Hoare triple {199803#true} ~x~0 := 0;~y~0 := 0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 19: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 20: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 21: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 22: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 23: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 24: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 25: Hoare triple {199803#true} assume !(~x~0 < ~i~0); {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 26: Hoare triple {199803#true} #res := ~y~0; {199803#true} is VALID [2022-04-27 11:48:57,422 INFO L290 TraceCheckUtils]: 27: Hoare triple {199803#true} assume true; {199803#true} is VALID [2022-04-27 11:48:57,423 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {199803#true} {199803#true} #111#return; {199803#true} is VALID [2022-04-27 11:48:57,423 INFO L290 TraceCheckUtils]: 29: Hoare triple {199803#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {199803#true} is VALID [2022-04-27 11:48:57,423 INFO L272 TraceCheckUtils]: 30: Hoare triple {199803#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {199803#true} is VALID [2022-04-27 11:48:57,423 INFO L290 TraceCheckUtils]: 31: Hoare triple {199803#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {199850#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:48:57,423 INFO L290 TraceCheckUtils]: 32: Hoare triple {199850#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199851#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:48:57,424 INFO L290 TraceCheckUtils]: 33: Hoare triple {199851#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199852#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:48:57,424 INFO L290 TraceCheckUtils]: 34: Hoare triple {199852#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199853#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:48:57,425 INFO L290 TraceCheckUtils]: 35: Hoare triple {199853#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199854#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:48:57,425 INFO L290 TraceCheckUtils]: 36: Hoare triple {199854#(<= 4 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199855#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:48:57,425 INFO L290 TraceCheckUtils]: 37: Hoare triple {199855#(<= 5 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,426 INFO L290 TraceCheckUtils]: 38: Hoare triple {199856#(<= 6 student_version_~i~1)} assume !(~b~1 < ~n); {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,426 INFO L290 TraceCheckUtils]: 39: Hoare triple {199856#(<= 6 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,426 INFO L290 TraceCheckUtils]: 40: Hoare triple {199856#(<= 6 student_version_~i~1)} assume !(~l~1 < ~m); {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,426 INFO L290 TraceCheckUtils]: 41: Hoare triple {199856#(<= 6 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {199857#(<= (+ 6 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:48:57,427 INFO L290 TraceCheckUtils]: 42: Hoare triple {199857#(<= (+ 6 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {199858#(<= (+ 5 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:48:57,427 INFO L290 TraceCheckUtils]: 43: Hoare triple {199858#(<= (+ 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; {199859#(<= (+ student_version_~x~1 4) student_version_~i~1)} is VALID [2022-04-27 11:48:57,428 INFO L290 TraceCheckUtils]: 44: Hoare triple {199859#(<= (+ 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; {199860#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:48:57,428 INFO L290 TraceCheckUtils]: 45: Hoare triple {199860#(<= (+ 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; {199861#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:48:57,429 INFO L290 TraceCheckUtils]: 46: Hoare triple {199861#(<= (+ 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; {199862#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:48:57,429 INFO L290 TraceCheckUtils]: 47: Hoare triple {199862#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {199804#false} is VALID [2022-04-27 11:48:57,429 INFO L290 TraceCheckUtils]: 48: Hoare triple {199804#false} #res := ~y~1; {199804#false} is VALID [2022-04-27 11:48:57,429 INFO L290 TraceCheckUtils]: 49: Hoare triple {199804#false} assume true; {199804#false} is VALID [2022-04-27 11:48:57,429 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {199804#false} {199803#true} #113#return; {199804#false} is VALID [2022-04-27 11:48:57,429 INFO L290 TraceCheckUtils]: 51: Hoare triple {199804#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {199804#false} is VALID [2022-04-27 11:48:57,429 INFO L272 TraceCheckUtils]: 52: Hoare triple {199804#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {199804#false} is VALID [2022-04-27 11:48:57,429 INFO L290 TraceCheckUtils]: 53: Hoare triple {199804#false} ~cond := #in~cond; {199804#false} is VALID [2022-04-27 11:48:57,429 INFO L290 TraceCheckUtils]: 54: Hoare triple {199804#false} assume 0 == ~cond; {199804#false} is VALID [2022-04-27 11:48:57,429 INFO L290 TraceCheckUtils]: 55: Hoare triple {199804#false} assume !false; {199804#false} is VALID [2022-04-27 11:48:57,429 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 21 proven. 15 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-27 11:48:57,430 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:48:57,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [928035766] [2022-04-27 11:48:57,430 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [928035766] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:48:57,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1985992479] [2022-04-27 11:48:57,430 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 11:48:57,430 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:48:57,430 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:48:57,431 INFO L229 MonitoredProcess]: Starting monitored process 81 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:48:57,431 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (81)] Waiting until timeout for monitored process [2022-04-27 11:48:57,543 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 11:48:57,543 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:48:57,544 INFO L263 TraceCheckSpWp]: Trace formula consists of 273 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 11:48:57,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:48:57,554 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:48:57,787 INFO L272 TraceCheckUtils]: 0: Hoare triple {199803#true} call ULTIMATE.init(); {199803#true} is VALID [2022-04-27 11:48:57,787 INFO L290 TraceCheckUtils]: 1: Hoare triple {199803#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {199803#true} is VALID [2022-04-27 11:48:57,787 INFO L290 TraceCheckUtils]: 2: Hoare triple {199803#true} assume true; {199803#true} is VALID [2022-04-27 11:48:57,787 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {199803#true} {199803#true} #117#return; {199803#true} is VALID [2022-04-27 11:48:57,787 INFO L272 TraceCheckUtils]: 4: Hoare triple {199803#true} call #t~ret10 := main(); {199803#true} is VALID [2022-04-27 11:48:57,787 INFO L290 TraceCheckUtils]: 5: Hoare triple {199803#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {199803#true} is VALID [2022-04-27 11:48:57,787 INFO L290 TraceCheckUtils]: 6: Hoare triple {199803#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {199803#true} is VALID [2022-04-27 11:48:57,787 INFO L272 TraceCheckUtils]: 7: Hoare triple {199803#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {199803#true} is VALID [2022-04-27 11:48:57,787 INFO L290 TraceCheckUtils]: 8: Hoare triple {199803#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {199803#true} is VALID [2022-04-27 11:48:57,787 INFO L290 TraceCheckUtils]: 9: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,787 INFO L290 TraceCheckUtils]: 10: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,787 INFO L290 TraceCheckUtils]: 11: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,787 INFO L290 TraceCheckUtils]: 12: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,787 INFO L290 TraceCheckUtils]: 13: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,787 INFO L290 TraceCheckUtils]: 14: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,787 INFO L290 TraceCheckUtils]: 15: Hoare triple {199803#true} assume !(~b~0 < ~n); {199803#true} is VALID [2022-04-27 11:48:57,788 INFO L290 TraceCheckUtils]: 16: Hoare triple {199803#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {199803#true} is VALID [2022-04-27 11:48:57,788 INFO L290 TraceCheckUtils]: 17: Hoare triple {199803#true} assume !(~l~0 < ~m); {199803#true} is VALID [2022-04-27 11:48:57,788 INFO L290 TraceCheckUtils]: 18: Hoare triple {199803#true} ~x~0 := 0;~y~0 := 0; {199803#true} is VALID [2022-04-27 11:48:57,788 INFO L290 TraceCheckUtils]: 19: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,788 INFO L290 TraceCheckUtils]: 20: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,788 INFO L290 TraceCheckUtils]: 21: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,788 INFO L290 TraceCheckUtils]: 22: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,788 INFO L290 TraceCheckUtils]: 23: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,788 INFO L290 TraceCheckUtils]: 24: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,788 INFO L290 TraceCheckUtils]: 25: Hoare triple {199803#true} assume !(~x~0 < ~i~0); {199803#true} is VALID [2022-04-27 11:48:57,788 INFO L290 TraceCheckUtils]: 26: Hoare triple {199803#true} #res := ~y~0; {199803#true} is VALID [2022-04-27 11:48:57,788 INFO L290 TraceCheckUtils]: 27: Hoare triple {199803#true} assume true; {199803#true} is VALID [2022-04-27 11:48:57,788 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {199803#true} {199803#true} #111#return; {199803#true} is VALID [2022-04-27 11:48:57,788 INFO L290 TraceCheckUtils]: 29: Hoare triple {199803#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {199803#true} is VALID [2022-04-27 11:48:57,788 INFO L272 TraceCheckUtils]: 30: Hoare triple {199803#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {199803#true} is VALID [2022-04-27 11:48:57,789 INFO L290 TraceCheckUtils]: 31: Hoare triple {199803#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {199850#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:48:57,789 INFO L290 TraceCheckUtils]: 32: Hoare triple {199850#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199851#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:48:57,789 INFO L290 TraceCheckUtils]: 33: Hoare triple {199851#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199852#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:48:57,790 INFO L290 TraceCheckUtils]: 34: Hoare triple {199852#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199853#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:48:57,790 INFO L290 TraceCheckUtils]: 35: Hoare triple {199853#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199854#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:48:57,791 INFO L290 TraceCheckUtils]: 36: Hoare triple {199854#(<= 4 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199855#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:48:57,791 INFO L290 TraceCheckUtils]: 37: Hoare triple {199855#(<= 5 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,791 INFO L290 TraceCheckUtils]: 38: Hoare triple {199856#(<= 6 student_version_~i~1)} assume !(~b~1 < ~n); {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,791 INFO L290 TraceCheckUtils]: 39: Hoare triple {199856#(<= 6 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,792 INFO L290 TraceCheckUtils]: 40: Hoare triple {199856#(<= 6 student_version_~i~1)} assume !(~l~1 < ~m); {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,792 INFO L290 TraceCheckUtils]: 41: Hoare triple {199856#(<= 6 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {199989#(and (<= student_version_~x~1 0) (<= 6 student_version_~i~1))} is VALID [2022-04-27 11:48:57,792 INFO L290 TraceCheckUtils]: 42: Hoare triple {199989#(and (<= student_version_~x~1 0) (<= 6 student_version_~i~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {199993#(and (<= student_version_~x~1 1) (<= 6 student_version_~i~1))} is VALID [2022-04-27 11:48:57,793 INFO L290 TraceCheckUtils]: 43: Hoare triple {199993#(and (<= student_version_~x~1 1) (<= 6 student_version_~i~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {199997#(and (<= student_version_~x~1 2) (<= 6 student_version_~i~1))} is VALID [2022-04-27 11:48:57,793 INFO L290 TraceCheckUtils]: 44: Hoare triple {199997#(and (<= student_version_~x~1 2) (<= 6 student_version_~i~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {200001#(and (<= student_version_~x~1 3) (<= 6 student_version_~i~1))} is VALID [2022-04-27 11:48:57,794 INFO L290 TraceCheckUtils]: 45: Hoare triple {200001#(and (<= student_version_~x~1 3) (<= 6 student_version_~i~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {200005#(and (<= 6 student_version_~i~1) (<= student_version_~x~1 4))} is VALID [2022-04-27 11:48:57,794 INFO L290 TraceCheckUtils]: 46: Hoare triple {200005#(and (<= 6 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; {200009#(and (<= student_version_~x~1 5) (<= 6 student_version_~i~1))} is VALID [2022-04-27 11:48:57,794 INFO L290 TraceCheckUtils]: 47: Hoare triple {200009#(and (<= student_version_~x~1 5) (<= 6 student_version_~i~1))} assume !(~x~1 < ~i~1); {199804#false} is VALID [2022-04-27 11:48:57,794 INFO L290 TraceCheckUtils]: 48: Hoare triple {199804#false} #res := ~y~1; {199804#false} is VALID [2022-04-27 11:48:57,795 INFO L290 TraceCheckUtils]: 49: Hoare triple {199804#false} assume true; {199804#false} is VALID [2022-04-27 11:48:57,795 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {199804#false} {199803#true} #113#return; {199804#false} is VALID [2022-04-27 11:48:57,795 INFO L290 TraceCheckUtils]: 51: Hoare triple {199804#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {199804#false} is VALID [2022-04-27 11:48:57,795 INFO L272 TraceCheckUtils]: 52: Hoare triple {199804#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {199804#false} is VALID [2022-04-27 11:48:57,795 INFO L290 TraceCheckUtils]: 53: Hoare triple {199804#false} ~cond := #in~cond; {199804#false} is VALID [2022-04-27 11:48:57,795 INFO L290 TraceCheckUtils]: 54: Hoare triple {199804#false} assume 0 == ~cond; {199804#false} is VALID [2022-04-27 11:48:57,795 INFO L290 TraceCheckUtils]: 55: Hoare triple {199804#false} assume !false; {199804#false} is VALID [2022-04-27 11:48:57,795 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 21 proven. 15 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-27 11:48:57,795 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:48:57,973 INFO L290 TraceCheckUtils]: 55: Hoare triple {199804#false} assume !false; {199804#false} is VALID [2022-04-27 11:48:57,973 INFO L290 TraceCheckUtils]: 54: Hoare triple {199804#false} assume 0 == ~cond; {199804#false} is VALID [2022-04-27 11:48:57,973 INFO L290 TraceCheckUtils]: 53: Hoare triple {199804#false} ~cond := #in~cond; {199804#false} is VALID [2022-04-27 11:48:57,973 INFO L272 TraceCheckUtils]: 52: Hoare triple {199804#false} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {199804#false} is VALID [2022-04-27 11:48:57,973 INFO L290 TraceCheckUtils]: 51: Hoare triple {199804#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {199804#false} is VALID [2022-04-27 11:48:57,973 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {199804#false} {199803#true} #113#return; {199804#false} is VALID [2022-04-27 11:48:57,973 INFO L290 TraceCheckUtils]: 49: Hoare triple {199804#false} assume true; {199804#false} is VALID [2022-04-27 11:48:57,973 INFO L290 TraceCheckUtils]: 48: Hoare triple {199804#false} #res := ~y~1; {199804#false} is VALID [2022-04-27 11:48:57,974 INFO L290 TraceCheckUtils]: 47: Hoare triple {199862#(<= (+ student_version_~x~1 1) student_version_~i~1)} assume !(~x~1 < ~i~1); {199804#false} is VALID [2022-04-27 11:48:57,974 INFO L290 TraceCheckUtils]: 46: Hoare triple {199861#(<= (+ 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; {199862#(<= (+ student_version_~x~1 1) student_version_~i~1)} is VALID [2022-04-27 11:48:57,975 INFO L290 TraceCheckUtils]: 45: Hoare triple {199860#(<= (+ 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; {199861#(<= (+ 2 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:48:57,975 INFO L290 TraceCheckUtils]: 44: Hoare triple {199859#(<= (+ 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; {199860#(<= (+ 3 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:48:57,975 INFO L290 TraceCheckUtils]: 43: Hoare triple {199858#(<= (+ 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; {199859#(<= (+ student_version_~x~1 4) student_version_~i~1)} is VALID [2022-04-27 11:48:57,976 INFO L290 TraceCheckUtils]: 42: Hoare triple {199857#(<= (+ 6 student_version_~x~1) student_version_~i~1)} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {199858#(<= (+ 5 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:48:57,976 INFO L290 TraceCheckUtils]: 41: Hoare triple {199856#(<= 6 student_version_~i~1)} ~x~1 := 0;~y~1 := 0; {199857#(<= (+ 6 student_version_~x~1) student_version_~i~1)} is VALID [2022-04-27 11:48:57,976 INFO L290 TraceCheckUtils]: 40: Hoare triple {199856#(<= 6 student_version_~i~1)} assume !(~l~1 < ~m); {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,977 INFO L290 TraceCheckUtils]: 39: Hoare triple {199856#(<= 6 student_version_~i~1)} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,977 INFO L290 TraceCheckUtils]: 38: Hoare triple {199856#(<= 6 student_version_~i~1)} assume !(~b~1 < ~n); {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,977 INFO L290 TraceCheckUtils]: 37: Hoare triple {199855#(<= 5 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199856#(<= 6 student_version_~i~1)} is VALID [2022-04-27 11:48:57,978 INFO L290 TraceCheckUtils]: 36: Hoare triple {199854#(<= 4 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199855#(<= 5 student_version_~i~1)} is VALID [2022-04-27 11:48:57,978 INFO L290 TraceCheckUtils]: 35: Hoare triple {199853#(<= 3 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199854#(<= 4 student_version_~i~1)} is VALID [2022-04-27 11:48:57,978 INFO L290 TraceCheckUtils]: 34: Hoare triple {199852#(<= 2 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199853#(<= 3 student_version_~i~1)} is VALID [2022-04-27 11:48:57,979 INFO L290 TraceCheckUtils]: 33: Hoare triple {199851#(<= 1 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199852#(<= 2 student_version_~i~1)} is VALID [2022-04-27 11:48:57,979 INFO L290 TraceCheckUtils]: 32: Hoare triple {199850#(<= 0 student_version_~i~1)} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {199851#(<= 1 student_version_~i~1)} is VALID [2022-04-27 11:48:57,979 INFO L290 TraceCheckUtils]: 31: Hoare triple {199803#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {199850#(<= 0 student_version_~i~1)} is VALID [2022-04-27 11:48:57,980 INFO L272 TraceCheckUtils]: 30: Hoare triple {199803#true} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 29: Hoare triple {199803#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {199803#true} {199803#true} #111#return; {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 27: Hoare triple {199803#true} assume true; {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 26: Hoare triple {199803#true} #res := ~y~0; {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 25: Hoare triple {199803#true} assume !(~x~0 < ~i~0); {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 24: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 23: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 22: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 21: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 20: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 19: Hoare triple {199803#true} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 18: Hoare triple {199803#true} ~x~0 := 0;~y~0 := 0; {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 17: Hoare triple {199803#true} assume !(~l~0 < ~m); {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 16: Hoare triple {199803#true} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 15: Hoare triple {199803#true} assume !(~b~0 < ~n); {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 14: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 13: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,980 INFO L290 TraceCheckUtils]: 12: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,981 INFO L290 TraceCheckUtils]: 11: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,981 INFO L290 TraceCheckUtils]: 10: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {199803#true} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {199803#true} is VALID [2022-04-27 11:48:57,981 INFO L290 TraceCheckUtils]: 8: Hoare triple {199803#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {199803#true} is VALID [2022-04-27 11:48:57,981 INFO L272 TraceCheckUtils]: 7: Hoare triple {199803#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {199803#true} is VALID [2022-04-27 11:48:57,981 INFO L290 TraceCheckUtils]: 6: Hoare triple {199803#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {199803#true} is VALID [2022-04-27 11:48:57,981 INFO L290 TraceCheckUtils]: 5: Hoare triple {199803#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {199803#true} is VALID [2022-04-27 11:48:57,981 INFO L272 TraceCheckUtils]: 4: Hoare triple {199803#true} call #t~ret10 := main(); {199803#true} is VALID [2022-04-27 11:48:57,981 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {199803#true} {199803#true} #117#return; {199803#true} is VALID [2022-04-27 11:48:57,981 INFO L290 TraceCheckUtils]: 2: Hoare triple {199803#true} assume true; {199803#true} is VALID [2022-04-27 11:48:57,981 INFO L290 TraceCheckUtils]: 1: Hoare triple {199803#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {199803#true} is VALID [2022-04-27 11:48:57,981 INFO L272 TraceCheckUtils]: 0: Hoare triple {199803#true} call ULTIMATE.init(); {199803#true} is VALID [2022-04-27 11:48:57,981 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 21 proven. 15 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-27 11:48:57,981 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1985992479] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:48:57,981 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:48:57,981 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 15, 15] total 22 [2022-04-27 11:48:57,982 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [719574949] [2022-04-27 11:48:57,982 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:48:57,982 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 2.090909090909091) internal successors, (46), 21 states have internal predecessors, (46), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 56 [2022-04-27 11:48:57,982 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:48:57,982 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 2.090909090909091) internal successors, (46), 21 states have internal predecessors, (46), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:48:58,012 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:48:58,012 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-27 11:48:58,012 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:48:58,012 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-27 11:48:58,012 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=155, Invalid=307, Unknown=0, NotChecked=0, Total=462 [2022-04-27 11:48:58,012 INFO L87 Difference]: Start difference. First operand 917 states and 1022 transitions. Second operand has 22 states, 22 states have (on average 2.090909090909091) internal successors, (46), 21 states have internal predecessors, (46), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:49:06,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:49:06,917 INFO L93 Difference]: Finished difference Result 967 states and 1082 transitions. [2022-04-27 11:49:06,917 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-04-27 11:49:06,917 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 2.090909090909091) internal successors, (46), 21 states have internal predecessors, (46), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 56 [2022-04-27 11:49:06,917 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:49:06,917 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 2.090909090909091) internal successors, (46), 21 states have internal predecessors, (46), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:49:06,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 113 transitions. [2022-04-27 11:49:06,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 2.090909090909091) internal successors, (46), 21 states have internal predecessors, (46), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:49:06,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 113 transitions. [2022-04-27 11:49:06,919 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 113 transitions. [2022-04-27 11:49:06,999 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-27 11:49:07,043 INFO L225 Difference]: With dead ends: 967 [2022-04-27 11:49:07,043 INFO L226 Difference]: Without dead ends: 928 [2022-04-27 11:49:07,049 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 111 SyntacticMatches, 1 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 541 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=764, Invalid=1686, Unknown=0, NotChecked=0, Total=2450 [2022-04-27 11:49:07,049 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 127 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 317 mSolverCounterSat, 79 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 134 SdHoareTripleChecker+Valid, 74 SdHoareTripleChecker+Invalid, 396 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 79 IncrementalHoareTripleChecker+Valid, 317 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:49:07,050 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [134 Valid, 74 Invalid, 396 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [79 Valid, 317 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 11:49:07,051 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 928 states. [2022-04-27 11:49:14,145 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 928 to 928. [2022-04-27 11:49:14,145 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:49:14,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 928 states. Second operand has 928 states, 814 states have (on average 1.1302211302211302) internal successors, (920), 884 states have internal predecessors, (920), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (73), 38 states have call predecessors, (73), 38 states have call successors, (73) [2022-04-27 11:49:14,146 INFO L74 IsIncluded]: Start isIncluded. First operand 928 states. Second operand has 928 states, 814 states have (on average 1.1302211302211302) internal successors, (920), 884 states have internal predecessors, (920), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (73), 38 states have call predecessors, (73), 38 states have call successors, (73) [2022-04-27 11:49:14,147 INFO L87 Difference]: Start difference. First operand 928 states. Second operand has 928 states, 814 states have (on average 1.1302211302211302) internal successors, (920), 884 states have internal predecessors, (920), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (73), 38 states have call predecessors, (73), 38 states have call successors, (73) [2022-04-27 11:49:14,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:49:14,176 INFO L93 Difference]: Finished difference Result 928 states and 1033 transitions. [2022-04-27 11:49:14,176 INFO L276 IsEmpty]: Start isEmpty. Operand 928 states and 1033 transitions. [2022-04-27 11:49:14,181 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:49:14,181 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:49:14,182 INFO L74 IsIncluded]: Start isIncluded. First operand has 928 states, 814 states have (on average 1.1302211302211302) internal successors, (920), 884 states have internal predecessors, (920), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (73), 38 states have call predecessors, (73), 38 states have call successors, (73) Second operand 928 states. [2022-04-27 11:49:14,182 INFO L87 Difference]: Start difference. First operand has 928 states, 814 states have (on average 1.1302211302211302) internal successors, (920), 884 states have internal predecessors, (920), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (73), 38 states have call predecessors, (73), 38 states have call successors, (73) Second operand 928 states. [2022-04-27 11:49:14,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:49:14,211 INFO L93 Difference]: Finished difference Result 928 states and 1033 transitions. [2022-04-27 11:49:14,211 INFO L276 IsEmpty]: Start isEmpty. Operand 928 states and 1033 transitions. [2022-04-27 11:49:14,216 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:49:14,216 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:49:14,216 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:49:14,216 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:49:14,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 928 states, 814 states have (on average 1.1302211302211302) internal successors, (920), 884 states have internal predecessors, (920), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (73), 38 states have call predecessors, (73), 38 states have call successors, (73) [2022-04-27 11:49:14,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 928 states to 928 states and 1033 transitions. [2022-04-27 11:49:14,257 INFO L78 Accepts]: Start accepts. Automaton has 928 states and 1033 transitions. Word has length 56 [2022-04-27 11:49:14,257 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:49:14,257 INFO L495 AbstractCegarLoop]: Abstraction has 928 states and 1033 transitions. [2022-04-27 11:49:14,257 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 2.090909090909091) internal successors, (46), 21 states have internal predecessors, (46), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 11:49:14,257 INFO L276 IsEmpty]: Start isEmpty. Operand 928 states and 1033 transitions. [2022-04-27 11:49:14,264 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-27 11:49:14,264 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:49:14,264 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-27 11:49:14,280 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (81)] Forceful destruction successful, exit code 0 [2022-04-27 11:49:14,479 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 81 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable89 [2022-04-27 11:49:14,479 INFO L420 AbstractCegarLoop]: === Iteration 91 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:49:14,480 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:49:14,480 INFO L85 PathProgramCache]: Analyzing trace with hash -451135283, now seen corresponding path program 81 times [2022-04-27 11:49:14,480 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:49:14,480 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1876369877] [2022-04-27 11:49:14,480 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:49:14,480 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:49:14,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:49:14,560 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:49:14,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:49:14,563 INFO L290 TraceCheckUtils]: 0: Hoare triple {204972#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {204919#true} is VALID [2022-04-27 11:49:14,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {204919#true} assume true; {204919#true} is VALID [2022-04-27 11:49:14,563 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {204919#true} {204919#true} #117#return; {204919#true} is VALID [2022-04-27 11:49:14,563 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:49:14,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:49:14,808 INFO L290 TraceCheckUtils]: 0: Hoare triple {204919#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:14,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:14,809 INFO L290 TraceCheckUtils]: 2: Hoare triple {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:14,809 INFO L290 TraceCheckUtils]: 3: Hoare triple {204973#(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; {204974#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:49:14,810 INFO L290 TraceCheckUtils]: 4: Hoare triple {204974#(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; {204975#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:49:14,810 INFO L290 TraceCheckUtils]: 5: Hoare triple {204975#(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; {204976#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:49:14,810 INFO L290 TraceCheckUtils]: 6: Hoare triple {204976#(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; {204977#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:49:14,811 INFO L290 TraceCheckUtils]: 7: Hoare triple {204977#(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; {204978#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:49:14,811 INFO L290 TraceCheckUtils]: 8: Hoare triple {204978#(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; {204979#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:49:14,812 INFO L290 TraceCheckUtils]: 9: Hoare triple {204979#(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; {204980#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:49:14,812 INFO L290 TraceCheckUtils]: 10: Hoare triple {204980#(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; {204981#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:49:14,813 INFO L290 TraceCheckUtils]: 11: Hoare triple {204981#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {204982#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:49:14,813 INFO L290 TraceCheckUtils]: 12: Hoare triple {204982#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {204983#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} is VALID [2022-04-27 11:49:14,814 INFO L290 TraceCheckUtils]: 13: Hoare triple {204983#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} is VALID [2022-04-27 11:49:14,814 INFO L290 TraceCheckUtils]: 14: Hoare triple {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} assume !(~l~0 < ~m); {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} is VALID [2022-04-27 11:49:14,814 INFO L290 TraceCheckUtils]: 15: Hoare triple {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} ~x~0 := 0;~y~0 := 0; {204985#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 11) (<= 11 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:49:14,815 INFO L290 TraceCheckUtils]: 16: Hoare triple {204985#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 11) (<= 11 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} is VALID [2022-04-27 11:49:14,815 INFO L290 TraceCheckUtils]: 17: Hoare triple {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} assume !(~x~0 < ~i~0); {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} is VALID [2022-04-27 11:49:14,816 INFO L290 TraceCheckUtils]: 18: Hoare triple {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} #res := ~y~0; {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} is VALID [2022-04-27 11:49:14,816 INFO L290 TraceCheckUtils]: 19: Hoare triple {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} assume true; {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} is VALID [2022-04-27 11:49:14,817 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} {204919#true} #111#return; {204945#(and (<= |main_#t~ret8| 11) (<= 11 |main_#t~ret8|))} is VALID [2022-04-27 11:49:14,817 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-27 11:49:14,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:49:15,234 INFO L290 TraceCheckUtils]: 0: Hoare triple {204919#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:15,235 INFO L290 TraceCheckUtils]: 1: Hoare triple {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:15,235 INFO L290 TraceCheckUtils]: 2: Hoare triple {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:15,235 INFO L290 TraceCheckUtils]: 3: Hoare triple {204988#(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; {204989#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:49:15,236 INFO L290 TraceCheckUtils]: 4: Hoare triple {204989#(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; {204990#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:49:15,236 INFO L290 TraceCheckUtils]: 5: Hoare triple {204990#(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; {204991#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:49:15,236 INFO L290 TraceCheckUtils]: 6: Hoare triple {204991#(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; {204992#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:49:15,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {204992#(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; {204993#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:49:15,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {204993#(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; {204994#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:49:15,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {204994#(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; {204995#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:49:15,238 INFO L290 TraceCheckUtils]: 10: Hoare triple {204995#(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; {204996#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:49:15,238 INFO L290 TraceCheckUtils]: 11: Hoare triple {204996#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {204997#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:49:15,238 INFO L290 TraceCheckUtils]: 12: Hoare triple {204997#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {204998#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} is VALID [2022-04-27 11:49:15,239 INFO L290 TraceCheckUtils]: 13: Hoare triple {204998#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} is VALID [2022-04-27 11:49:15,239 INFO L290 TraceCheckUtils]: 14: Hoare triple {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} assume !(~l~1 < ~m); {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} is VALID [2022-04-27 11:49:15,239 INFO L290 TraceCheckUtils]: 15: Hoare triple {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} ~x~1 := 0;~y~1 := 0; {205000#(and (<= 11 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 11))} is VALID [2022-04-27 11:49:15,240 INFO L290 TraceCheckUtils]: 16: Hoare triple {205000#(and (<= 11 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 11))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} is VALID [2022-04-27 11:49:15,240 INFO L290 TraceCheckUtils]: 17: Hoare triple {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} assume !(~x~1 < ~i~1); {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} is VALID [2022-04-27 11:49:15,240 INFO L290 TraceCheckUtils]: 18: Hoare triple {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} #res := ~y~1; {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} is VALID [2022-04-27 11:49:15,240 INFO L290 TraceCheckUtils]: 19: Hoare triple {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} assume true; {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} is VALID [2022-04-27 11:49:15,241 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} {204946#(and (<= 11 main_~n_stones1~0) (<= main_~n_stones1~0 11))} #113#return; {204968#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:49:15,241 INFO L272 TraceCheckUtils]: 0: Hoare triple {204919#true} call ULTIMATE.init(); {204972#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:49:15,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {204972#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {204919#true} is VALID [2022-04-27 11:49:15,241 INFO L290 TraceCheckUtils]: 2: Hoare triple {204919#true} assume true; {204919#true} is VALID [2022-04-27 11:49:15,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {204919#true} {204919#true} #117#return; {204919#true} is VALID [2022-04-27 11:49:15,241 INFO L272 TraceCheckUtils]: 4: Hoare triple {204919#true} call #t~ret10 := main(); {204919#true} is VALID [2022-04-27 11:49:15,241 INFO L290 TraceCheckUtils]: 5: Hoare triple {204919#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {204919#true} is VALID [2022-04-27 11:49:15,241 INFO L290 TraceCheckUtils]: 6: Hoare triple {204919#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {204919#true} is VALID [2022-04-27 11:49:15,241 INFO L272 TraceCheckUtils]: 7: Hoare triple {204919#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {204919#true} is VALID [2022-04-27 11:49:15,242 INFO L290 TraceCheckUtils]: 8: Hoare triple {204919#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:15,242 INFO L290 TraceCheckUtils]: 9: Hoare triple {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:15,242 INFO L290 TraceCheckUtils]: 10: Hoare triple {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:15,243 INFO L290 TraceCheckUtils]: 11: Hoare triple {204973#(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; {204974#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:49:15,243 INFO L290 TraceCheckUtils]: 12: Hoare triple {204974#(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; {204975#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:49:15,243 INFO L290 TraceCheckUtils]: 13: Hoare triple {204975#(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; {204976#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:49:15,244 INFO L290 TraceCheckUtils]: 14: Hoare triple {204976#(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; {204977#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:49:15,244 INFO L290 TraceCheckUtils]: 15: Hoare triple {204977#(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; {204978#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:49:15,244 INFO L290 TraceCheckUtils]: 16: Hoare triple {204978#(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; {204979#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:49:15,245 INFO L290 TraceCheckUtils]: 17: Hoare triple {204979#(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; {204980#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:49:15,245 INFO L290 TraceCheckUtils]: 18: Hoare triple {204980#(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; {204981#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:49:15,245 INFO L290 TraceCheckUtils]: 19: Hoare triple {204981#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {204982#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:49:15,246 INFO L290 TraceCheckUtils]: 20: Hoare triple {204982#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {204983#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} is VALID [2022-04-27 11:49:15,246 INFO L290 TraceCheckUtils]: 21: Hoare triple {204983#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} is VALID [2022-04-27 11:49:15,246 INFO L290 TraceCheckUtils]: 22: Hoare triple {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} assume !(~l~0 < ~m); {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} is VALID [2022-04-27 11:49:15,246 INFO L290 TraceCheckUtils]: 23: Hoare triple {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} ~x~0 := 0;~y~0 := 0; {204985#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 11) (<= 11 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:49:15,247 INFO L290 TraceCheckUtils]: 24: Hoare triple {204985#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 11) (<= 11 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} is VALID [2022-04-27 11:49:15,247 INFO L290 TraceCheckUtils]: 25: Hoare triple {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} assume !(~x~0 < ~i~0); {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} is VALID [2022-04-27 11:49:15,247 INFO L290 TraceCheckUtils]: 26: Hoare triple {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} #res := ~y~0; {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} is VALID [2022-04-27 11:49:15,247 INFO L290 TraceCheckUtils]: 27: Hoare triple {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} assume true; {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} is VALID [2022-04-27 11:49:15,248 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} {204919#true} #111#return; {204945#(and (<= |main_#t~ret8| 11) (<= 11 |main_#t~ret8|))} is VALID [2022-04-27 11:49:15,248 INFO L290 TraceCheckUtils]: 29: Hoare triple {204945#(and (<= |main_#t~ret8| 11) (<= 11 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {204946#(and (<= 11 main_~n_stones1~0) (<= main_~n_stones1~0 11))} is VALID [2022-04-27 11:49:15,248 INFO L272 TraceCheckUtils]: 30: Hoare triple {204946#(and (<= 11 main_~n_stones1~0) (<= main_~n_stones1~0 11))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {204919#true} is VALID [2022-04-27 11:49:15,248 INFO L290 TraceCheckUtils]: 31: Hoare triple {204919#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:15,249 INFO L290 TraceCheckUtils]: 32: Hoare triple {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:15,249 INFO L290 TraceCheckUtils]: 33: Hoare triple {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:15,249 INFO L290 TraceCheckUtils]: 34: Hoare triple {204988#(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; {204989#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:49:15,250 INFO L290 TraceCheckUtils]: 35: Hoare triple {204989#(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; {204990#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:49:15,250 INFO L290 TraceCheckUtils]: 36: Hoare triple {204990#(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; {204991#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:49:15,250 INFO L290 TraceCheckUtils]: 37: Hoare triple {204991#(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; {204992#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:49:15,250 INFO L290 TraceCheckUtils]: 38: Hoare triple {204992#(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; {204993#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:49:15,251 INFO L290 TraceCheckUtils]: 39: Hoare triple {204993#(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; {204994#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:49:15,251 INFO L290 TraceCheckUtils]: 40: Hoare triple {204994#(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; {204995#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:49:15,251 INFO L290 TraceCheckUtils]: 41: Hoare triple {204995#(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; {204996#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:49:15,252 INFO L290 TraceCheckUtils]: 42: Hoare triple {204996#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {204997#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:49:15,252 INFO L290 TraceCheckUtils]: 43: Hoare triple {204997#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {204998#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} is VALID [2022-04-27 11:49:15,252 INFO L290 TraceCheckUtils]: 44: Hoare triple {204998#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} is VALID [2022-04-27 11:49:15,253 INFO L290 TraceCheckUtils]: 45: Hoare triple {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} assume !(~l~1 < ~m); {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} is VALID [2022-04-27 11:49:15,253 INFO L290 TraceCheckUtils]: 46: Hoare triple {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} ~x~1 := 0;~y~1 := 0; {205000#(and (<= 11 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 11))} is VALID [2022-04-27 11:49:15,253 INFO L290 TraceCheckUtils]: 47: Hoare triple {205000#(and (<= 11 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 11))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} is VALID [2022-04-27 11:49:15,254 INFO L290 TraceCheckUtils]: 48: Hoare triple {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} assume !(~x~1 < ~i~1); {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} is VALID [2022-04-27 11:49:15,254 INFO L290 TraceCheckUtils]: 49: Hoare triple {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} #res := ~y~1; {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} is VALID [2022-04-27 11:49:15,254 INFO L290 TraceCheckUtils]: 50: Hoare triple {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} assume true; {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} is VALID [2022-04-27 11:49:15,255 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} {204946#(and (<= 11 main_~n_stones1~0) (<= main_~n_stones1~0 11))} #113#return; {204968#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:49:15,255 INFO L290 TraceCheckUtils]: 52: Hoare triple {204968#(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; {204969#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:49:15,255 INFO L272 TraceCheckUtils]: 53: Hoare triple {204969#(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)); {204970#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:49:15,256 INFO L290 TraceCheckUtils]: 54: Hoare triple {204970#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {204971#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:49:15,256 INFO L290 TraceCheckUtils]: 55: Hoare triple {204971#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {204920#false} is VALID [2022-04-27 11:49:15,256 INFO L290 TraceCheckUtils]: 56: Hoare triple {204920#false} assume !false; {204920#false} is VALID [2022-04-27 11:49:15,256 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 0 proven. 134 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-27 11:49:15,256 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:49:15,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1876369877] [2022-04-27 11:49:15,256 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1876369877] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:49:15,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1972995064] [2022-04-27 11:49:15,256 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 11:49:15,256 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:49:15,256 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:49:15,257 INFO L229 MonitoredProcess]: Starting monitored process 82 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:49:15,258 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (82)] Waiting until timeout for monitored process [2022-04-27 11:49:15,344 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2022-04-27 11:49:15,344 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:49:15,346 INFO L263 TraceCheckSpWp]: Trace formula consists of 278 conjuncts, 71 conjunts are in the unsatisfiable core [2022-04-27 11:49:15,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:49:15,352 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:49:15,750 INFO L272 TraceCheckUtils]: 0: Hoare triple {204919#true} call ULTIMATE.init(); {204919#true} is VALID [2022-04-27 11:49:15,751 INFO L290 TraceCheckUtils]: 1: Hoare triple {204919#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {204919#true} is VALID [2022-04-27 11:49:15,751 INFO L290 TraceCheckUtils]: 2: Hoare triple {204919#true} assume true; {204919#true} is VALID [2022-04-27 11:49:15,751 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {204919#true} {204919#true} #117#return; {204919#true} is VALID [2022-04-27 11:49:15,751 INFO L272 TraceCheckUtils]: 4: Hoare triple {204919#true} call #t~ret10 := main(); {204919#true} is VALID [2022-04-27 11:49:15,751 INFO L290 TraceCheckUtils]: 5: Hoare triple {204919#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {204919#true} is VALID [2022-04-27 11:49:15,751 INFO L290 TraceCheckUtils]: 6: Hoare triple {204919#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {204919#true} is VALID [2022-04-27 11:49:15,751 INFO L272 TraceCheckUtils]: 7: Hoare triple {204919#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {204919#true} is VALID [2022-04-27 11:49:15,751 INFO L290 TraceCheckUtils]: 8: Hoare triple {204919#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:15,751 INFO L290 TraceCheckUtils]: 9: Hoare triple {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:15,752 INFO L290 TraceCheckUtils]: 10: Hoare triple {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:15,752 INFO L290 TraceCheckUtils]: 11: Hoare triple {204973#(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; {204974#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:49:15,752 INFO L290 TraceCheckUtils]: 12: Hoare triple {204974#(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; {204975#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:49:15,753 INFO L290 TraceCheckUtils]: 13: Hoare triple {204975#(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; {204976#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:49:15,753 INFO L290 TraceCheckUtils]: 14: Hoare triple {204976#(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; {204977#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:49:15,753 INFO L290 TraceCheckUtils]: 15: Hoare triple {204977#(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; {204978#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:49:15,754 INFO L290 TraceCheckUtils]: 16: Hoare triple {204978#(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; {204979#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:49:15,754 INFO L290 TraceCheckUtils]: 17: Hoare triple {204979#(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; {204980#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:49:15,754 INFO L290 TraceCheckUtils]: 18: Hoare triple {204980#(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; {204981#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:49:15,755 INFO L290 TraceCheckUtils]: 19: Hoare triple {204981#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {204982#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:49:15,755 INFO L290 TraceCheckUtils]: 20: Hoare triple {204982#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {204983#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} is VALID [2022-04-27 11:49:15,755 INFO L290 TraceCheckUtils]: 21: Hoare triple {204983#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} is VALID [2022-04-27 11:49:15,756 INFO L290 TraceCheckUtils]: 22: Hoare triple {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} assume !(~l~0 < ~m); {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} is VALID [2022-04-27 11:49:15,756 INFO L290 TraceCheckUtils]: 23: Hoare triple {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} ~x~0 := 0;~y~0 := 0; {205075#(and (<= 11 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 11))} is VALID [2022-04-27 11:49:15,756 INFO L290 TraceCheckUtils]: 24: Hoare triple {205075#(and (<= 11 correct_version_~j~0) (= correct_version_~y~0 0) (<= correct_version_~j~0 11))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} is VALID [2022-04-27 11:49:15,757 INFO L290 TraceCheckUtils]: 25: Hoare triple {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} assume !(~x~0 < ~i~0); {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} is VALID [2022-04-27 11:49:15,757 INFO L290 TraceCheckUtils]: 26: Hoare triple {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} #res := ~y~0; {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} is VALID [2022-04-27 11:49:15,757 INFO L290 TraceCheckUtils]: 27: Hoare triple {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} assume true; {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} is VALID [2022-04-27 11:49:15,757 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} {204919#true} #111#return; {204945#(and (<= |main_#t~ret8| 11) (<= 11 |main_#t~ret8|))} is VALID [2022-04-27 11:49:15,758 INFO L290 TraceCheckUtils]: 29: Hoare triple {204945#(and (<= |main_#t~ret8| 11) (<= 11 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {204946#(and (<= 11 main_~n_stones1~0) (<= main_~n_stones1~0 11))} is VALID [2022-04-27 11:49:15,758 INFO L272 TraceCheckUtils]: 30: Hoare triple {204946#(and (<= 11 main_~n_stones1~0) (<= main_~n_stones1~0 11))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {204919#true} is VALID [2022-04-27 11:49:15,758 INFO L290 TraceCheckUtils]: 31: Hoare triple {204919#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:15,758 INFO L290 TraceCheckUtils]: 32: Hoare triple {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:15,758 INFO L290 TraceCheckUtils]: 33: Hoare triple {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:15,759 INFO L290 TraceCheckUtils]: 34: Hoare triple {204988#(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; {204989#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:49:15,759 INFO L290 TraceCheckUtils]: 35: Hoare triple {204989#(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; {204990#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:49:15,760 INFO L290 TraceCheckUtils]: 36: Hoare triple {204990#(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; {204991#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:49:15,760 INFO L290 TraceCheckUtils]: 37: Hoare triple {204991#(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; {204992#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:49:15,761 INFO L290 TraceCheckUtils]: 38: Hoare triple {204992#(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; {204993#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:49:15,761 INFO L290 TraceCheckUtils]: 39: Hoare triple {204993#(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; {204994#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:49:15,762 INFO L290 TraceCheckUtils]: 40: Hoare triple {204994#(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; {204995#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:49:15,762 INFO L290 TraceCheckUtils]: 41: Hoare triple {204995#(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; {204996#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:49:15,762 INFO L290 TraceCheckUtils]: 42: Hoare triple {204996#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {204997#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:49:15,763 INFO L290 TraceCheckUtils]: 43: Hoare triple {204997#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {204998#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} is VALID [2022-04-27 11:49:15,763 INFO L290 TraceCheckUtils]: 44: Hoare triple {204998#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} is VALID [2022-04-27 11:49:15,764 INFO L290 TraceCheckUtils]: 45: Hoare triple {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} assume !(~l~1 < ~m); {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} is VALID [2022-04-27 11:49:15,764 INFO L290 TraceCheckUtils]: 46: Hoare triple {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} ~x~1 := 0;~y~1 := 0; {205145#(and (<= 11 student_version_~j~1) (= student_version_~y~1 0) (<= student_version_~j~1 11))} is VALID [2022-04-27 11:49:15,764 INFO L290 TraceCheckUtils]: 47: Hoare triple {205145#(and (<= 11 student_version_~j~1) (= student_version_~y~1 0) (<= student_version_~j~1 11))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} is VALID [2022-04-27 11:49:15,765 INFO L290 TraceCheckUtils]: 48: Hoare triple {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} assume !(~x~1 < ~i~1); {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} is VALID [2022-04-27 11:49:15,765 INFO L290 TraceCheckUtils]: 49: Hoare triple {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} #res := ~y~1; {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} is VALID [2022-04-27 11:49:15,765 INFO L290 TraceCheckUtils]: 50: Hoare triple {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} assume true; {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} is VALID [2022-04-27 11:49:15,766 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} {204946#(and (<= 11 main_~n_stones1~0) (<= main_~n_stones1~0 11))} #113#return; {205161#(and (<= 11 main_~n_stones1~0) (<= main_~n_stones1~0 11) (<= |main_#t~ret9| 11) (<= 11 |main_#t~ret9|))} is VALID [2022-04-27 11:49:15,766 INFO L290 TraceCheckUtils]: 52: Hoare triple {205161#(and (<= 11 main_~n_stones1~0) (<= main_~n_stones1~0 11) (<= |main_#t~ret9| 11) (<= 11 |main_#t~ret9|))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {205165#(and (<= main_~n_stones2~0 11) (<= 11 main_~n_stones2~0) (<= 11 main_~n_stones1~0) (<= main_~n_stones1~0 11))} is VALID [2022-04-27 11:49:15,767 INFO L272 TraceCheckUtils]: 53: Hoare triple {205165#(and (<= main_~n_stones2~0 11) (<= 11 main_~n_stones2~0) (<= 11 main_~n_stones1~0) (<= main_~n_stones1~0 11))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {205169#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:49:15,767 INFO L290 TraceCheckUtils]: 54: Hoare triple {205169#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {205173#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:49:15,767 INFO L290 TraceCheckUtils]: 55: Hoare triple {205173#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {204920#false} is VALID [2022-04-27 11:49:15,768 INFO L290 TraceCheckUtils]: 56: Hoare triple {204920#false} assume !false; {204920#false} is VALID [2022-04-27 11:49:15,768 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 0 proven. 134 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-27 11:49:15,768 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:49:16,164 INFO L290 TraceCheckUtils]: 56: Hoare triple {204920#false} assume !false; {204920#false} is VALID [2022-04-27 11:49:16,164 INFO L290 TraceCheckUtils]: 55: Hoare triple {205173#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {204920#false} is VALID [2022-04-27 11:49:16,164 INFO L290 TraceCheckUtils]: 54: Hoare triple {205169#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {205173#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:49:16,165 INFO L272 TraceCheckUtils]: 53: Hoare triple {204969#(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)); {205169#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:49:16,165 INFO L290 TraceCheckUtils]: 52: Hoare triple {204968#(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; {204969#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:49:16,166 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} {204946#(and (<= 11 main_~n_stones1~0) (<= main_~n_stones1~0 11))} #113#return; {204968#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:49:16,166 INFO L290 TraceCheckUtils]: 50: Hoare triple {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} assume true; {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} is VALID [2022-04-27 11:49:16,166 INFO L290 TraceCheckUtils]: 49: Hoare triple {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} #res := ~y~1; {205002#(and (<= 11 |student_version_#res|) (<= |student_version_#res| 11))} is VALID [2022-04-27 11:49:16,166 INFO L290 TraceCheckUtils]: 48: Hoare triple {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} assume !(~x~1 < ~i~1); {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} is VALID [2022-04-27 11:49:16,167 INFO L290 TraceCheckUtils]: 47: Hoare triple {205000#(and (<= 11 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 11))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {205001#(and (<= student_version_~y~1 11) (<= 11 student_version_~y~1))} is VALID [2022-04-27 11:49:16,167 INFO L290 TraceCheckUtils]: 46: Hoare triple {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} ~x~1 := 0;~y~1 := 0; {205000#(and (<= 11 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 11))} is VALID [2022-04-27 11:49:16,167 INFO L290 TraceCheckUtils]: 45: Hoare triple {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} assume !(~l~1 < ~m); {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} is VALID [2022-04-27 11:49:16,168 INFO L290 TraceCheckUtils]: 44: Hoare triple {204998#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {204999#(and (<= 11 student_version_~j~1) (<= student_version_~j~1 11))} is VALID [2022-04-27 11:49:16,168 INFO L290 TraceCheckUtils]: 43: Hoare triple {204997#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {204998#(and (<= student_version_~j~1 10) (<= 10 student_version_~j~1))} is VALID [2022-04-27 11:49:16,168 INFO L290 TraceCheckUtils]: 42: Hoare triple {204996#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {204997#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:49:16,169 INFO L290 TraceCheckUtils]: 41: Hoare triple {204995#(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; {204996#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:49:16,169 INFO L290 TraceCheckUtils]: 40: Hoare triple {204994#(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; {204995#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:49:16,169 INFO L290 TraceCheckUtils]: 39: Hoare triple {204993#(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; {204994#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:49:16,170 INFO L290 TraceCheckUtils]: 38: Hoare triple {204992#(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; {204993#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:49:16,170 INFO L290 TraceCheckUtils]: 37: Hoare triple {204991#(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; {204992#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:49:16,170 INFO L290 TraceCheckUtils]: 36: Hoare triple {204990#(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; {204991#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:49:16,171 INFO L290 TraceCheckUtils]: 35: Hoare triple {204989#(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; {204990#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:49:16,171 INFO L290 TraceCheckUtils]: 34: Hoare triple {204988#(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; {204989#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:49:16,171 INFO L290 TraceCheckUtils]: 33: Hoare triple {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:16,171 INFO L290 TraceCheckUtils]: 32: Hoare triple {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:16,172 INFO L290 TraceCheckUtils]: 31: Hoare triple {204919#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {204988#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:16,172 INFO L272 TraceCheckUtils]: 30: Hoare triple {204946#(and (<= 11 main_~n_stones1~0) (<= main_~n_stones1~0 11))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {204919#true} is VALID [2022-04-27 11:49:16,172 INFO L290 TraceCheckUtils]: 29: Hoare triple {204945#(and (<= |main_#t~ret8| 11) (<= 11 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {204946#(and (<= 11 main_~n_stones1~0) (<= main_~n_stones1~0 11))} is VALID [2022-04-27 11:49:16,172 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} {204919#true} #111#return; {204945#(and (<= |main_#t~ret8| 11) (<= 11 |main_#t~ret8|))} is VALID [2022-04-27 11:49:16,173 INFO L290 TraceCheckUtils]: 27: Hoare triple {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} assume true; {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} is VALID [2022-04-27 11:49:16,173 INFO L290 TraceCheckUtils]: 26: Hoare triple {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} #res := ~y~0; {204987#(and (<= 11 |correct_version_#res|) (<= |correct_version_#res| 11))} is VALID [2022-04-27 11:49:16,173 INFO L290 TraceCheckUtils]: 25: Hoare triple {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} assume !(~x~0 < ~i~0); {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} is VALID [2022-04-27 11:49:16,173 INFO L290 TraceCheckUtils]: 24: Hoare triple {204985#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 11) (<= 11 (+ correct_version_~j~0 correct_version_~y~0)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {204986#(and (<= correct_version_~y~0 11) (<= 11 correct_version_~y~0))} is VALID [2022-04-27 11:49:16,174 INFO L290 TraceCheckUtils]: 23: Hoare triple {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} ~x~0 := 0;~y~0 := 0; {204985#(and (<= (+ correct_version_~j~0 correct_version_~y~0) 11) (<= 11 (+ correct_version_~j~0 correct_version_~y~0)))} is VALID [2022-04-27 11:49:16,174 INFO L290 TraceCheckUtils]: 22: Hoare triple {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} assume !(~l~0 < ~m); {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} is VALID [2022-04-27 11:49:16,174 INFO L290 TraceCheckUtils]: 21: Hoare triple {204983#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {204984#(and (<= 11 correct_version_~j~0) (<= correct_version_~j~0 11))} is VALID [2022-04-27 11:49:16,175 INFO L290 TraceCheckUtils]: 20: Hoare triple {204982#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {204983#(and (<= correct_version_~j~0 10) (<= 10 correct_version_~j~0))} is VALID [2022-04-27 11:49:16,175 INFO L290 TraceCheckUtils]: 19: Hoare triple {204981#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {204982#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:49:16,175 INFO L290 TraceCheckUtils]: 18: Hoare triple {204980#(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; {204981#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:49:16,176 INFO L290 TraceCheckUtils]: 17: Hoare triple {204979#(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; {204980#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:49:16,176 INFO L290 TraceCheckUtils]: 16: Hoare triple {204978#(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; {204979#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:49:16,176 INFO L290 TraceCheckUtils]: 15: Hoare triple {204977#(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; {204978#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:49:16,177 INFO L290 TraceCheckUtils]: 14: Hoare triple {204976#(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; {204977#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:49:16,177 INFO L290 TraceCheckUtils]: 13: Hoare triple {204975#(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; {204976#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:49:16,177 INFO L290 TraceCheckUtils]: 12: Hoare triple {204974#(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; {204975#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:49:16,177 INFO L290 TraceCheckUtils]: 11: Hoare triple {204973#(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; {204974#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:49:16,178 INFO L290 TraceCheckUtils]: 10: Hoare triple {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:16,178 INFO L290 TraceCheckUtils]: 9: Hoare triple {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:16,178 INFO L290 TraceCheckUtils]: 8: Hoare triple {204919#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {204973#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:16,178 INFO L272 TraceCheckUtils]: 7: Hoare triple {204919#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {204919#true} is VALID [2022-04-27 11:49:16,178 INFO L290 TraceCheckUtils]: 6: Hoare triple {204919#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {204919#true} is VALID [2022-04-27 11:49:16,178 INFO L290 TraceCheckUtils]: 5: Hoare triple {204919#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {204919#true} is VALID [2022-04-27 11:49:16,178 INFO L272 TraceCheckUtils]: 4: Hoare triple {204919#true} call #t~ret10 := main(); {204919#true} is VALID [2022-04-27 11:49:16,179 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {204919#true} {204919#true} #117#return; {204919#true} is VALID [2022-04-27 11:49:16,179 INFO L290 TraceCheckUtils]: 2: Hoare triple {204919#true} assume true; {204919#true} is VALID [2022-04-27 11:49:16,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {204919#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {204919#true} is VALID [2022-04-27 11:49:16,179 INFO L272 TraceCheckUtils]: 0: Hoare triple {204919#true} call ULTIMATE.init(); {204919#true} is VALID [2022-04-27 11:49:16,179 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 0 proven. 134 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-27 11:49:16,179 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1972995064] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:49:16,179 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:49:16,179 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [39, 38, 38] total 45 [2022-04-27 11:49:16,179 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [135731345] [2022-04-27 11:49:16,179 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:49:16,181 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 57 [2022-04-27 11:49:16,181 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:49:16,181 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:49:16,208 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-27 11:49:16,208 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 45 states [2022-04-27 11:49:16,208 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:49:16,208 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2022-04-27 11:49:16,208 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=1883, Unknown=0, NotChecked=0, Total=1980 [2022-04-27 11:49:16,208 INFO L87 Difference]: Start difference. First operand 928 states and 1033 transitions. Second operand has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:49:33,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:49:33,070 INFO L93 Difference]: Finished difference Result 1052 states and 1172 transitions. [2022-04-27 11:49:33,070 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2022-04-27 11:49:33,070 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 57 [2022-04-27 11:49:33,070 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:49:33,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:49:33,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 238 transitions. [2022-04-27 11:49:33,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:49:33,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 238 transitions. [2022-04-27 11:49:33,073 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 238 transitions. [2022-04-27 11:49:33,189 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 238 edges. 238 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:49:33,244 INFO L225 Difference]: With dead ends: 1052 [2022-04-27 11:49:33,244 INFO L226 Difference]: Without dead ends: 1046 [2022-04-27 11:49:33,256 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 193 GetRequests, 108 SyntacticMatches, 5 SemanticMatches, 80 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 895 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=277, Invalid=6365, Unknown=0, NotChecked=0, Total=6642 [2022-04-27 11:49:33,256 INFO L413 NwaCegarLoop]: 129 mSDtfsCounter, 285 mSDsluCounter, 202 mSDsCounter, 0 mSdLazyCounter, 7892 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 297 SdHoareTripleChecker+Valid, 331 SdHoareTripleChecker+Invalid, 7948 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 7892 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.2s IncrementalHoareTripleChecker+Time [2022-04-27 11:49:33,256 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [297 Valid, 331 Invalid, 7948 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 7892 Invalid, 0 Unknown, 0 Unchecked, 4.2s Time] [2022-04-27 11:49:33,257 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1046 states. [2022-04-27 11:49:41,613 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1046 to 944. [2022-04-27 11:49:41,613 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:49:41,614 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1046 states. Second operand has 944 states, 827 states have (on average 1.1305925030229746) internal successors, (935), 899 states have internal predecessors, (935), 41 states have call successors, (41), 5 states have call predecessors, (41), 75 states have return successors, (76), 39 states have call predecessors, (76), 39 states have call successors, (76) [2022-04-27 11:49:41,614 INFO L74 IsIncluded]: Start isIncluded. First operand 1046 states. Second operand has 944 states, 827 states have (on average 1.1305925030229746) internal successors, (935), 899 states have internal predecessors, (935), 41 states have call successors, (41), 5 states have call predecessors, (41), 75 states have return successors, (76), 39 states have call predecessors, (76), 39 states have call successors, (76) [2022-04-27 11:49:41,615 INFO L87 Difference]: Start difference. First operand 1046 states. Second operand has 944 states, 827 states have (on average 1.1305925030229746) internal successors, (935), 899 states have internal predecessors, (935), 41 states have call successors, (41), 5 states have call predecessors, (41), 75 states have return successors, (76), 39 states have call predecessors, (76), 39 states have call successors, (76) [2022-04-27 11:49:41,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:49:41,650 INFO L93 Difference]: Finished difference Result 1046 states and 1166 transitions. [2022-04-27 11:49:41,650 INFO L276 IsEmpty]: Start isEmpty. Operand 1046 states and 1166 transitions. [2022-04-27 11:49:41,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:49:41,656 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:49:41,656 INFO L74 IsIncluded]: Start isIncluded. First operand has 944 states, 827 states have (on average 1.1305925030229746) internal successors, (935), 899 states have internal predecessors, (935), 41 states have call successors, (41), 5 states have call predecessors, (41), 75 states have return successors, (76), 39 states have call predecessors, (76), 39 states have call successors, (76) Second operand 1046 states. [2022-04-27 11:49:41,657 INFO L87 Difference]: Start difference. First operand has 944 states, 827 states have (on average 1.1305925030229746) internal successors, (935), 899 states have internal predecessors, (935), 41 states have call successors, (41), 5 states have call predecessors, (41), 75 states have return successors, (76), 39 states have call predecessors, (76), 39 states have call successors, (76) Second operand 1046 states. [2022-04-27 11:49:41,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:49:41,692 INFO L93 Difference]: Finished difference Result 1046 states and 1166 transitions. [2022-04-27 11:49:41,692 INFO L276 IsEmpty]: Start isEmpty. Operand 1046 states and 1166 transitions. [2022-04-27 11:49:41,698 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:49:41,698 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:49:41,698 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:49:41,698 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:49:41,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 944 states, 827 states have (on average 1.1305925030229746) internal successors, (935), 899 states have internal predecessors, (935), 41 states have call successors, (41), 5 states have call predecessors, (41), 75 states have return successors, (76), 39 states have call predecessors, (76), 39 states have call successors, (76) [2022-04-27 11:49:41,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 944 states to 944 states and 1052 transitions. [2022-04-27 11:49:41,739 INFO L78 Accepts]: Start accepts. Automaton has 944 states and 1052 transitions. Word has length 57 [2022-04-27 11:49:41,739 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:49:41,739 INFO L495 AbstractCegarLoop]: Abstraction has 944 states and 1052 transitions. [2022-04-27 11:49:41,739 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:49:41,739 INFO L276 IsEmpty]: Start isEmpty. Operand 944 states and 1052 transitions. [2022-04-27 11:49:41,746 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-27 11:49:41,746 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:49:41,746 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 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-27 11:49:41,762 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (82)] Forceful destruction successful, exit code 0 [2022-04-27 11:49:41,962 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable90,82 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:49:41,962 INFO L420 AbstractCegarLoop]: === Iteration 92 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:49:41,962 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:49:41,962 INFO L85 PathProgramCache]: Analyzing trace with hash -866207603, now seen corresponding path program 82 times [2022-04-27 11:49:41,962 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:49:41,962 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [421251422] [2022-04-27 11:49:41,962 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:49:41,962 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:49:41,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:49:42,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:49:42,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:49:42,021 INFO L290 TraceCheckUtils]: 0: Hoare triple {210535#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {210482#true} is VALID [2022-04-27 11:49:42,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {210482#true} assume true; {210482#true} is VALID [2022-04-27 11:49:42,021 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {210482#true} {210482#true} #117#return; {210482#true} is VALID [2022-04-27 11:49:42,021 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:49:42,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:49:42,162 INFO L290 TraceCheckUtils]: 0: Hoare triple {210482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,163 INFO L290 TraceCheckUtils]: 1: Hoare triple {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,163 INFO L290 TraceCheckUtils]: 3: Hoare triple {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,163 INFO L290 TraceCheckUtils]: 4: Hoare triple {210536#(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; {210537#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:49:42,164 INFO L290 TraceCheckUtils]: 5: Hoare triple {210537#(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; {210538#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:49:42,164 INFO L290 TraceCheckUtils]: 6: Hoare triple {210538#(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; {210539#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:49:42,165 INFO L290 TraceCheckUtils]: 7: Hoare triple {210539#(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; {210540#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:49:42,165 INFO L290 TraceCheckUtils]: 8: Hoare triple {210540#(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; {210541#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,165 INFO L290 TraceCheckUtils]: 9: Hoare triple {210541#(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; {210542#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,166 INFO L290 TraceCheckUtils]: 10: Hoare triple {210542#(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; {210543#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:49:42,166 INFO L290 TraceCheckUtils]: 11: Hoare triple {210543#(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; {210544#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:49:42,166 INFO L290 TraceCheckUtils]: 12: Hoare triple {210544#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,166 INFO L290 TraceCheckUtils]: 13: Hoare triple {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !(~l~0 < ~m); {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,167 INFO L290 TraceCheckUtils]: 14: Hoare triple {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {210546#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 18) (<= 18 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:49:42,167 INFO L290 TraceCheckUtils]: 15: Hoare triple {210546#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 18) (<= 18 (+ 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; {210547#(and (<= 18 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 18))} is VALID [2022-04-27 11:49:42,168 INFO L290 TraceCheckUtils]: 16: Hoare triple {210547#(and (<= 18 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 18))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:49:42,168 INFO L290 TraceCheckUtils]: 17: Hoare triple {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} assume !(~x~0 < ~i~0); {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:49:42,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} #res := ~y~0; {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:49:42,168 INFO L290 TraceCheckUtils]: 19: Hoare triple {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} assume true; {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:49:42,169 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} {210482#true} #111#return; {210508#(and (<= |main_#t~ret8| 18) (<= 18 |main_#t~ret8|))} is VALID [2022-04-27 11:49:42,169 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-27 11:49:42,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:49:42,388 INFO L290 TraceCheckUtils]: 0: Hoare triple {210482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:42,388 INFO L290 TraceCheckUtils]: 1: Hoare triple {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:42,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:42,389 INFO L290 TraceCheckUtils]: 3: Hoare triple {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:42,389 INFO L290 TraceCheckUtils]: 4: Hoare triple {210550#(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; {210551#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:49:42,390 INFO L290 TraceCheckUtils]: 5: Hoare triple {210551#(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; {210552#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:49:42,390 INFO L290 TraceCheckUtils]: 6: Hoare triple {210552#(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; {210553#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:49:42,390 INFO L290 TraceCheckUtils]: 7: Hoare triple {210553#(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; {210554#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:49:42,391 INFO L290 TraceCheckUtils]: 8: Hoare triple {210554#(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; {210555#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:49:42,391 INFO L290 TraceCheckUtils]: 9: Hoare triple {210555#(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; {210556#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:49:42,391 INFO L290 TraceCheckUtils]: 10: Hoare triple {210556#(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; {210557#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:49:42,392 INFO L290 TraceCheckUtils]: 11: Hoare triple {210557#(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; {210558#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:49:42,392 INFO L290 TraceCheckUtils]: 12: Hoare triple {210558#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:49:42,392 INFO L290 TraceCheckUtils]: 13: Hoare triple {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !(~l~1 < ~m); {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:49:42,392 INFO L290 TraceCheckUtils]: 14: Hoare triple {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {210560#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 18) (<= 18 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:49:42,393 INFO L290 TraceCheckUtils]: 15: Hoare triple {210560#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 18) (<= 18 (+ (* 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; {210561#(and (<= 18 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 18))} is VALID [2022-04-27 11:49:42,393 INFO L290 TraceCheckUtils]: 16: Hoare triple {210561#(and (<= 18 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 18))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:49:42,393 INFO L290 TraceCheckUtils]: 17: Hoare triple {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} assume !(~x~1 < ~i~1); {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:49:42,394 INFO L290 TraceCheckUtils]: 18: Hoare triple {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} #res := ~y~1; {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:49:42,394 INFO L290 TraceCheckUtils]: 19: Hoare triple {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} assume true; {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:49:42,394 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} {210509#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} #113#return; {210531#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:49:42,395 INFO L272 TraceCheckUtils]: 0: Hoare triple {210482#true} call ULTIMATE.init(); {210535#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:49:42,395 INFO L290 TraceCheckUtils]: 1: Hoare triple {210535#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {210482#true} is VALID [2022-04-27 11:49:42,395 INFO L290 TraceCheckUtils]: 2: Hoare triple {210482#true} assume true; {210482#true} is VALID [2022-04-27 11:49:42,395 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {210482#true} {210482#true} #117#return; {210482#true} is VALID [2022-04-27 11:49:42,395 INFO L272 TraceCheckUtils]: 4: Hoare triple {210482#true} call #t~ret10 := main(); {210482#true} is VALID [2022-04-27 11:49:42,395 INFO L290 TraceCheckUtils]: 5: Hoare triple {210482#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {210482#true} is VALID [2022-04-27 11:49:42,395 INFO L290 TraceCheckUtils]: 6: Hoare triple {210482#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {210482#true} is VALID [2022-04-27 11:49:42,395 INFO L272 TraceCheckUtils]: 7: Hoare triple {210482#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {210482#true} is VALID [2022-04-27 11:49:42,395 INFO L290 TraceCheckUtils]: 8: Hoare triple {210482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,396 INFO L290 TraceCheckUtils]: 9: Hoare triple {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,396 INFO L290 TraceCheckUtils]: 10: Hoare triple {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,396 INFO L290 TraceCheckUtils]: 11: Hoare triple {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,396 INFO L290 TraceCheckUtils]: 12: Hoare triple {210536#(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; {210537#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:49:42,397 INFO L290 TraceCheckUtils]: 13: Hoare triple {210537#(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; {210538#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:49:42,397 INFO L290 TraceCheckUtils]: 14: Hoare triple {210538#(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; {210539#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:49:42,397 INFO L290 TraceCheckUtils]: 15: Hoare triple {210539#(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; {210540#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:49:42,398 INFO L290 TraceCheckUtils]: 16: Hoare triple {210540#(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; {210541#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,398 INFO L290 TraceCheckUtils]: 17: Hoare triple {210541#(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; {210542#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,398 INFO L290 TraceCheckUtils]: 18: Hoare triple {210542#(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; {210543#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:49:42,399 INFO L290 TraceCheckUtils]: 19: Hoare triple {210543#(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; {210544#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:49:42,399 INFO L290 TraceCheckUtils]: 20: Hoare triple {210544#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,399 INFO L290 TraceCheckUtils]: 21: Hoare triple {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !(~l~0 < ~m); {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:49:42,399 INFO L290 TraceCheckUtils]: 22: Hoare triple {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {210546#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 18) (<= 18 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:49:42,400 INFO L290 TraceCheckUtils]: 23: Hoare triple {210546#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 18) (<= 18 (+ 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; {210547#(and (<= 18 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 18))} is VALID [2022-04-27 11:49:42,400 INFO L290 TraceCheckUtils]: 24: Hoare triple {210547#(and (<= 18 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 18))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:49:42,400 INFO L290 TraceCheckUtils]: 25: Hoare triple {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} assume !(~x~0 < ~i~0); {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:49:42,401 INFO L290 TraceCheckUtils]: 26: Hoare triple {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} #res := ~y~0; {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:49:42,401 INFO L290 TraceCheckUtils]: 27: Hoare triple {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} assume true; {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:49:42,401 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} {210482#true} #111#return; {210508#(and (<= |main_#t~ret8| 18) (<= 18 |main_#t~ret8|))} is VALID [2022-04-27 11:49:42,401 INFO L290 TraceCheckUtils]: 29: Hoare triple {210508#(and (<= |main_#t~ret8| 18) (<= 18 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {210509#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} is VALID [2022-04-27 11:49:42,402 INFO L272 TraceCheckUtils]: 30: Hoare triple {210509#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {210482#true} is VALID [2022-04-27 11:49:42,402 INFO L290 TraceCheckUtils]: 31: Hoare triple {210482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:42,402 INFO L290 TraceCheckUtils]: 32: Hoare triple {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:42,402 INFO L290 TraceCheckUtils]: 33: Hoare triple {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:42,402 INFO L290 TraceCheckUtils]: 34: Hoare triple {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:42,403 INFO L290 TraceCheckUtils]: 35: Hoare triple {210550#(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; {210551#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:49:42,403 INFO L290 TraceCheckUtils]: 36: Hoare triple {210551#(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; {210552#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:49:42,403 INFO L290 TraceCheckUtils]: 37: Hoare triple {210552#(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; {210553#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:49:42,404 INFO L290 TraceCheckUtils]: 38: Hoare triple {210553#(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; {210554#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:49:42,404 INFO L290 TraceCheckUtils]: 39: Hoare triple {210554#(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; {210555#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:49:42,404 INFO L290 TraceCheckUtils]: 40: Hoare triple {210555#(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; {210556#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:49:42,405 INFO L290 TraceCheckUtils]: 41: Hoare triple {210556#(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; {210557#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:49:42,405 INFO L290 TraceCheckUtils]: 42: Hoare triple {210557#(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; {210558#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:49:42,405 INFO L290 TraceCheckUtils]: 43: Hoare triple {210558#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:49:42,406 INFO L290 TraceCheckUtils]: 44: Hoare triple {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !(~l~1 < ~m); {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:49:42,406 INFO L290 TraceCheckUtils]: 45: Hoare triple {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {210560#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 18) (<= 18 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:49:42,406 INFO L290 TraceCheckUtils]: 46: Hoare triple {210560#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 18) (<= 18 (+ (* 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; {210561#(and (<= 18 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 18))} is VALID [2022-04-27 11:49:42,407 INFO L290 TraceCheckUtils]: 47: Hoare triple {210561#(and (<= 18 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 18))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:49:42,407 INFO L290 TraceCheckUtils]: 48: Hoare triple {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} assume !(~x~1 < ~i~1); {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:49:42,407 INFO L290 TraceCheckUtils]: 49: Hoare triple {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} #res := ~y~1; {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:49:42,407 INFO L290 TraceCheckUtils]: 50: Hoare triple {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} assume true; {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:49:42,408 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} {210509#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} #113#return; {210531#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:49:42,408 INFO L290 TraceCheckUtils]: 52: Hoare triple {210531#(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; {210532#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:49:42,408 INFO L272 TraceCheckUtils]: 53: Hoare triple {210532#(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)); {210533#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:49:42,409 INFO L290 TraceCheckUtils]: 54: Hoare triple {210533#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {210534#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:49:42,409 INFO L290 TraceCheckUtils]: 55: Hoare triple {210534#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {210483#false} is VALID [2022-04-27 11:49:42,409 INFO L290 TraceCheckUtils]: 56: Hoare triple {210483#false} assume !false; {210483#false} is VALID [2022-04-27 11:49:42,409 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 0 proven. 96 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 11:49:42,409 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:49:42,409 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [421251422] [2022-04-27 11:49:42,409 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [421251422] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:49:42,409 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1598277321] [2022-04-27 11:49:42,409 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 11:49:42,409 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:49:42,410 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:49:42,410 INFO L229 MonitoredProcess]: Starting monitored process 83 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:49:42,411 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (83)] Waiting until timeout for monitored process [2022-04-27 11:49:42,513 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 11:49:42,513 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:49:42,514 INFO L263 TraceCheckSpWp]: Trace formula consists of 278 conjuncts, 67 conjunts are in the unsatisfiable core [2022-04-27 11:49:42,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:49:42,522 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:49:43,135 INFO L272 TraceCheckUtils]: 0: Hoare triple {210482#true} call ULTIMATE.init(); {210482#true} is VALID [2022-04-27 11:49:43,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {210482#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {210482#true} is VALID [2022-04-27 11:49:43,135 INFO L290 TraceCheckUtils]: 2: Hoare triple {210482#true} assume true; {210482#true} is VALID [2022-04-27 11:49:43,136 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {210482#true} {210482#true} #117#return; {210482#true} is VALID [2022-04-27 11:49:43,136 INFO L272 TraceCheckUtils]: 4: Hoare triple {210482#true} call #t~ret10 := main(); {210482#true} is VALID [2022-04-27 11:49:43,136 INFO L290 TraceCheckUtils]: 5: Hoare triple {210482#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {210482#true} is VALID [2022-04-27 11:49:43,136 INFO L290 TraceCheckUtils]: 6: Hoare triple {210482#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {210482#true} is VALID [2022-04-27 11:49:43,136 INFO L272 TraceCheckUtils]: 7: Hoare triple {210482#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {210482#true} is VALID [2022-04-27 11:49:43,136 INFO L290 TraceCheckUtils]: 8: Hoare triple {210482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,136 INFO L290 TraceCheckUtils]: 9: Hoare triple {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,137 INFO L290 TraceCheckUtils]: 10: Hoare triple {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,137 INFO L290 TraceCheckUtils]: 11: Hoare triple {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,137 INFO L290 TraceCheckUtils]: 12: Hoare triple {210536#(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; {210537#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:49:43,138 INFO L290 TraceCheckUtils]: 13: Hoare triple {210537#(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; {210538#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:49:43,138 INFO L290 TraceCheckUtils]: 14: Hoare triple {210538#(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; {210539#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:49:43,139 INFO L290 TraceCheckUtils]: 15: Hoare triple {210539#(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; {210540#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:49:43,139 INFO L290 TraceCheckUtils]: 16: Hoare triple {210540#(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; {210541#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,139 INFO L290 TraceCheckUtils]: 17: Hoare triple {210541#(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; {210542#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,140 INFO L290 TraceCheckUtils]: 18: Hoare triple {210542#(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; {210543#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:49:43,140 INFO L290 TraceCheckUtils]: 19: Hoare triple {210543#(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; {210544#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:49:43,141 INFO L290 TraceCheckUtils]: 20: Hoare triple {210544#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,141 INFO L290 TraceCheckUtils]: 21: Hoare triple {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !(~l~0 < ~m); {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,141 INFO L290 TraceCheckUtils]: 22: Hoare triple {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {210633#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0) (= correct_version_~y~0 0))} is VALID [2022-04-27 11:49:43,141 INFO L290 TraceCheckUtils]: 23: Hoare triple {210633#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0) (= correct_version_~y~0 0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {210637#(and (<= correct_version_~j~0 9) (= correct_version_~j~0 correct_version_~y~0) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,142 INFO L290 TraceCheckUtils]: 24: Hoare triple {210637#(and (<= correct_version_~j~0 9) (= correct_version_~j~0 correct_version_~y~0) (<= 9 correct_version_~j~0))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:49:43,142 INFO L290 TraceCheckUtils]: 25: Hoare triple {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} assume !(~x~0 < ~i~0); {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:49:43,142 INFO L290 TraceCheckUtils]: 26: Hoare triple {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} #res := ~y~0; {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:49:43,155 INFO L290 TraceCheckUtils]: 27: Hoare triple {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} assume true; {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:49:43,155 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} {210482#true} #111#return; {210508#(and (<= |main_#t~ret8| 18) (<= 18 |main_#t~ret8|))} is VALID [2022-04-27 11:49:43,156 INFO L290 TraceCheckUtils]: 29: Hoare triple {210508#(and (<= |main_#t~ret8| 18) (<= 18 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {210509#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} is VALID [2022-04-27 11:49:43,156 INFO L272 TraceCheckUtils]: 30: Hoare triple {210509#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {210482#true} is VALID [2022-04-27 11:49:43,156 INFO L290 TraceCheckUtils]: 31: Hoare triple {210482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:43,156 INFO L290 TraceCheckUtils]: 32: Hoare triple {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:43,157 INFO L290 TraceCheckUtils]: 33: Hoare triple {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:43,157 INFO L290 TraceCheckUtils]: 34: Hoare triple {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:43,157 INFO L290 TraceCheckUtils]: 35: Hoare triple {210550#(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; {210551#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:49:43,158 INFO L290 TraceCheckUtils]: 36: Hoare triple {210551#(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; {210552#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:49:43,158 INFO L290 TraceCheckUtils]: 37: Hoare triple {210552#(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; {210553#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:49:43,158 INFO L290 TraceCheckUtils]: 38: Hoare triple {210553#(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; {210554#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:49:43,159 INFO L290 TraceCheckUtils]: 39: Hoare triple {210554#(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; {210555#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:49:43,159 INFO L290 TraceCheckUtils]: 40: Hoare triple {210555#(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; {210556#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:49:43,159 INFO L290 TraceCheckUtils]: 41: Hoare triple {210556#(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; {210557#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:49:43,160 INFO L290 TraceCheckUtils]: 42: Hoare triple {210557#(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; {210558#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:49:43,160 INFO L290 TraceCheckUtils]: 43: Hoare triple {210558#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:49:43,160 INFO L290 TraceCheckUtils]: 44: Hoare triple {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !(~l~1 < ~m); {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:49:43,160 INFO L290 TraceCheckUtils]: 45: Hoare triple {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {210704#(and (= student_version_~y~1 0) (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:49:43,161 INFO L290 TraceCheckUtils]: 46: Hoare triple {210704#(and (= student_version_~y~1 0) (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {210708#(and (= student_version_~j~1 student_version_~y~1) (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:49:43,161 INFO L290 TraceCheckUtils]: 47: Hoare triple {210708#(and (= student_version_~j~1 student_version_~y~1) (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:49:43,161 INFO L290 TraceCheckUtils]: 48: Hoare triple {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} assume !(~x~1 < ~i~1); {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:49:43,162 INFO L290 TraceCheckUtils]: 49: Hoare triple {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} #res := ~y~1; {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:49:43,162 INFO L290 TraceCheckUtils]: 50: Hoare triple {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} assume true; {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:49:43,162 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} {210509#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} #113#return; {210724#(and (<= main_~n_stones1~0 18) (<= 18 |main_#t~ret9|) (<= 18 main_~n_stones1~0) (<= |main_#t~ret9| 18))} is VALID [2022-04-27 11:49:43,163 INFO L290 TraceCheckUtils]: 52: Hoare triple {210724#(and (<= main_~n_stones1~0 18) (<= 18 |main_#t~ret9|) (<= 18 main_~n_stones1~0) (<= |main_#t~ret9| 18))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {210728#(and (<= main_~n_stones1~0 18) (<= main_~n_stones2~0 18) (<= 18 main_~n_stones1~0) (<= 18 main_~n_stones2~0))} is VALID [2022-04-27 11:49:43,163 INFO L272 TraceCheckUtils]: 53: Hoare triple {210728#(and (<= main_~n_stones1~0 18) (<= main_~n_stones2~0 18) (<= 18 main_~n_stones1~0) (<= 18 main_~n_stones2~0))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {210732#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:49:43,163 INFO L290 TraceCheckUtils]: 54: Hoare triple {210732#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {210736#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:49:43,163 INFO L290 TraceCheckUtils]: 55: Hoare triple {210736#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {210483#false} is VALID [2022-04-27 11:49:43,163 INFO L290 TraceCheckUtils]: 56: Hoare triple {210483#false} assume !false; {210483#false} is VALID [2022-04-27 11:49:43,164 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 0 proven. 96 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 11:49:43,164 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:49:43,726 INFO L290 TraceCheckUtils]: 56: Hoare triple {210483#false} assume !false; {210483#false} is VALID [2022-04-27 11:49:43,726 INFO L290 TraceCheckUtils]: 55: Hoare triple {210736#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {210483#false} is VALID [2022-04-27 11:49:43,727 INFO L290 TraceCheckUtils]: 54: Hoare triple {210732#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {210736#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:49:43,727 INFO L272 TraceCheckUtils]: 53: Hoare triple {210532#(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)); {210732#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:49:43,728 INFO L290 TraceCheckUtils]: 52: Hoare triple {210531#(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; {210532#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:49:43,729 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} {210509#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} #113#return; {210531#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:49:43,729 INFO L290 TraceCheckUtils]: 50: Hoare triple {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} assume true; {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:49:43,729 INFO L290 TraceCheckUtils]: 49: Hoare triple {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} #res := ~y~1; {210563#(and (<= |student_version_#res| 18) (<= 18 |student_version_#res|))} is VALID [2022-04-27 11:49:43,730 INFO L290 TraceCheckUtils]: 48: Hoare triple {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} assume !(~x~1 < ~i~1); {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:49:43,730 INFO L290 TraceCheckUtils]: 47: Hoare triple {210561#(and (<= 18 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 18))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {210562#(and (<= student_version_~y~1 18) (<= 18 student_version_~y~1))} is VALID [2022-04-27 11:49:43,731 INFO L290 TraceCheckUtils]: 46: Hoare triple {210560#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 18) (<= 18 (+ (* 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; {210561#(and (<= 18 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 18))} is VALID [2022-04-27 11:49:43,731 INFO L290 TraceCheckUtils]: 45: Hoare triple {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {210560#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 18) (<= 18 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:49:43,731 INFO L290 TraceCheckUtils]: 44: Hoare triple {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} assume !(~l~1 < ~m); {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:49:43,732 INFO L290 TraceCheckUtils]: 43: Hoare triple {210558#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} assume !!(~l~1 < ~m);~l~1 := ~l~1 + ~a;~j~1 := 1 + ~j~1; {210559#(and (<= student_version_~j~1 9) (<= 9 student_version_~j~1))} is VALID [2022-04-27 11:49:43,732 INFO L290 TraceCheckUtils]: 42: Hoare triple {210557#(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; {210558#(and (<= 8 student_version_~j~1) (<= student_version_~j~1 8))} is VALID [2022-04-27 11:49:43,733 INFO L290 TraceCheckUtils]: 41: Hoare triple {210556#(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; {210557#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:49:43,733 INFO L290 TraceCheckUtils]: 40: Hoare triple {210555#(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; {210556#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:49:43,734 INFO L290 TraceCheckUtils]: 39: Hoare triple {210554#(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; {210555#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:49:43,734 INFO L290 TraceCheckUtils]: 38: Hoare triple {210553#(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; {210554#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:49:43,734 INFO L290 TraceCheckUtils]: 37: Hoare triple {210552#(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; {210553#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:49:43,735 INFO L290 TraceCheckUtils]: 36: Hoare triple {210551#(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; {210552#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:49:43,735 INFO L290 TraceCheckUtils]: 35: Hoare triple {210550#(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; {210551#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:49:43,736 INFO L290 TraceCheckUtils]: 34: Hoare triple {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:43,736 INFO L290 TraceCheckUtils]: 33: Hoare triple {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:43,736 INFO L290 TraceCheckUtils]: 32: Hoare triple {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:43,737 INFO L290 TraceCheckUtils]: 31: Hoare triple {210482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {210550#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:49:43,737 INFO L272 TraceCheckUtils]: 30: Hoare triple {210509#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {210482#true} is VALID [2022-04-27 11:49:43,737 INFO L290 TraceCheckUtils]: 29: Hoare triple {210508#(and (<= |main_#t~ret8| 18) (<= 18 |main_#t~ret8|))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {210509#(and (<= main_~n_stones1~0 18) (<= 18 main_~n_stones1~0))} is VALID [2022-04-27 11:49:43,738 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} {210482#true} #111#return; {210508#(and (<= |main_#t~ret8| 18) (<= 18 |main_#t~ret8|))} is VALID [2022-04-27 11:49:43,738 INFO L290 TraceCheckUtils]: 27: Hoare triple {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} assume true; {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:49:43,738 INFO L290 TraceCheckUtils]: 26: Hoare triple {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} #res := ~y~0; {210549#(and (<= |correct_version_#res| 18) (<= 18 |correct_version_#res|))} is VALID [2022-04-27 11:49:43,739 INFO L290 TraceCheckUtils]: 25: Hoare triple {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} assume !(~x~0 < ~i~0); {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:49:43,739 INFO L290 TraceCheckUtils]: 24: Hoare triple {210547#(and (<= 18 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 18))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {210548#(and (<= correct_version_~y~0 18) (<= 18 correct_version_~y~0))} is VALID [2022-04-27 11:49:43,740 INFO L290 TraceCheckUtils]: 23: Hoare triple {210546#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 18) (<= 18 (+ 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; {210547#(and (<= 18 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 18))} is VALID [2022-04-27 11:49:43,740 INFO L290 TraceCheckUtils]: 22: Hoare triple {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {210546#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 18) (<= 18 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:49:43,740 INFO L290 TraceCheckUtils]: 21: Hoare triple {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} assume !(~l~0 < ~m); {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,741 INFO L290 TraceCheckUtils]: 20: Hoare triple {210544#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} assume !!(~l~0 < ~m);~l~0 := ~l~0 + ~a;~j~0 := 1 + ~j~0; {210545#(and (<= correct_version_~j~0 9) (<= 9 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,741 INFO L290 TraceCheckUtils]: 19: Hoare triple {210543#(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; {210544#(and (<= 8 correct_version_~j~0) (<= correct_version_~j~0 8))} is VALID [2022-04-27 11:49:43,742 INFO L290 TraceCheckUtils]: 18: Hoare triple {210542#(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; {210543#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:49:43,742 INFO L290 TraceCheckUtils]: 17: Hoare triple {210541#(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; {210542#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,743 INFO L290 TraceCheckUtils]: 16: Hoare triple {210540#(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; {210541#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,743 INFO L290 TraceCheckUtils]: 15: Hoare triple {210539#(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; {210540#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:49:43,744 INFO L290 TraceCheckUtils]: 14: Hoare triple {210538#(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; {210539#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:49:43,744 INFO L290 TraceCheckUtils]: 13: Hoare triple {210537#(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; {210538#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:49:43,744 INFO L290 TraceCheckUtils]: 12: Hoare triple {210536#(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; {210537#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:49:43,745 INFO L290 TraceCheckUtils]: 11: Hoare triple {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,745 INFO L290 TraceCheckUtils]: 10: Hoare triple {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,745 INFO L290 TraceCheckUtils]: 9: Hoare triple {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,746 INFO L290 TraceCheckUtils]: 8: Hoare triple {210482#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {210536#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:49:43,746 INFO L272 TraceCheckUtils]: 7: Hoare triple {210482#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {210482#true} is VALID [2022-04-27 11:49:43,746 INFO L290 TraceCheckUtils]: 6: Hoare triple {210482#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {210482#true} is VALID [2022-04-27 11:49:43,746 INFO L290 TraceCheckUtils]: 5: Hoare triple {210482#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {210482#true} is VALID [2022-04-27 11:49:43,746 INFO L272 TraceCheckUtils]: 4: Hoare triple {210482#true} call #t~ret10 := main(); {210482#true} is VALID [2022-04-27 11:49:43,746 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {210482#true} {210482#true} #117#return; {210482#true} is VALID [2022-04-27 11:49:43,746 INFO L290 TraceCheckUtils]: 2: Hoare triple {210482#true} assume true; {210482#true} is VALID [2022-04-27 11:49:43,746 INFO L290 TraceCheckUtils]: 1: Hoare triple {210482#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {210482#true} is VALID [2022-04-27 11:49:43,746 INFO L272 TraceCheckUtils]: 0: Hoare triple {210482#true} call ULTIMATE.init(); {210482#true} is VALID [2022-04-27 11:49:43,746 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 0 proven. 96 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 11:49:43,747 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1598277321] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:49:43,747 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:49:43,747 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [37, 36, 36] total 45 [2022-04-27 11:49:43,747 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [587630498] [2022-04-27 11:49:43,747 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:49:43,747 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 57 [2022-04-27 11:49:43,747 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:49:43,747 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:49:43,792 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-27 11:49:43,792 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 45 states [2022-04-27 11:49:43,792 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:49:43,792 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2022-04-27 11:49:43,792 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=1879, Unknown=0, NotChecked=0, Total=1980 [2022-04-27 11:49:43,793 INFO L87 Difference]: Start difference. First operand 944 states and 1052 transitions. Second operand has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:49:57,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:49:57,945 INFO L93 Difference]: Finished difference Result 950 states and 1057 transitions. [2022-04-27 11:49:57,945 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-04-27 11:49:57,946 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 57 [2022-04-27 11:49:57,946 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:49:57,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:49:57,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 204 transitions. [2022-04-27 11:49:57,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:49:57,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 204 transitions. [2022-04-27 11:49:57,948 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 204 transitions. [2022-04-27 11:49:58,045 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 204 edges. 204 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 11:49:58,088 INFO L225 Difference]: With dead ends: 950 [2022-04-27 11:49:58,088 INFO L226 Difference]: Without dead ends: 928 [2022-04-27 11:49:58,116 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 189 GetRequests, 102 SyntacticMatches, 9 SemanticMatches, 78 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 914 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=279, Invalid=6041, Unknown=0, NotChecked=0, Total=6320 [2022-04-27 11:49:58,117 INFO L413 NwaCegarLoop]: 114 mSDtfsCounter, 212 mSDsluCounter, 202 mSDsCounter, 0 mSdLazyCounter, 6939 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 217 SdHoareTripleChecker+Valid, 316 SdHoareTripleChecker+Invalid, 6978 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 6939 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.4s IncrementalHoareTripleChecker+Time [2022-04-27 11:49:58,117 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [217 Valid, 316 Invalid, 6978 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 6939 Invalid, 0 Unknown, 0 Unchecked, 3.4s Time] [2022-04-27 11:49:58,117 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 928 states. [2022-04-27 11:50:05,470 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 928 to 928. [2022-04-27 11:50:05,470 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:50:05,471 INFO L82 GeneralOperation]: Start isEquivalent. First operand 928 states. Second operand has 928 states, 814 states have (on average 1.1302211302211302) internal successors, (920), 884 states have internal predecessors, (920), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (74), 38 states have call predecessors, (74), 38 states have call successors, (74) [2022-04-27 11:50:05,471 INFO L74 IsIncluded]: Start isIncluded. First operand 928 states. Second operand has 928 states, 814 states have (on average 1.1302211302211302) internal successors, (920), 884 states have internal predecessors, (920), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (74), 38 states have call predecessors, (74), 38 states have call successors, (74) [2022-04-27 11:50:05,472 INFO L87 Difference]: Start difference. First operand 928 states. Second operand has 928 states, 814 states have (on average 1.1302211302211302) internal successors, (920), 884 states have internal predecessors, (920), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (74), 38 states have call predecessors, (74), 38 states have call successors, (74) [2022-04-27 11:50:05,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:05,500 INFO L93 Difference]: Finished difference Result 928 states and 1034 transitions. [2022-04-27 11:50:05,500 INFO L276 IsEmpty]: Start isEmpty. Operand 928 states and 1034 transitions. [2022-04-27 11:50:05,505 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:50:05,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:50:05,506 INFO L74 IsIncluded]: Start isIncluded. First operand has 928 states, 814 states have (on average 1.1302211302211302) internal successors, (920), 884 states have internal predecessors, (920), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (74), 38 states have call predecessors, (74), 38 states have call successors, (74) Second operand 928 states. [2022-04-27 11:50:05,507 INFO L87 Difference]: Start difference. First operand has 928 states, 814 states have (on average 1.1302211302211302) internal successors, (920), 884 states have internal predecessors, (920), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (74), 38 states have call predecessors, (74), 38 states have call successors, (74) Second operand 928 states. [2022-04-27 11:50:05,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:05,535 INFO L93 Difference]: Finished difference Result 928 states and 1034 transitions. [2022-04-27 11:50:05,535 INFO L276 IsEmpty]: Start isEmpty. Operand 928 states and 1034 transitions. [2022-04-27 11:50:05,540 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:50:05,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:50:05,541 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:50:05,541 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:50:05,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 928 states, 814 states have (on average 1.1302211302211302) internal successors, (920), 884 states have internal predecessors, (920), 40 states have call successors, (40), 5 states have call predecessors, (40), 73 states have return successors, (74), 38 states have call predecessors, (74), 38 states have call successors, (74) [2022-04-27 11:50:05,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 928 states to 928 states and 1034 transitions. [2022-04-27 11:50:05,581 INFO L78 Accepts]: Start accepts. Automaton has 928 states and 1034 transitions. Word has length 57 [2022-04-27 11:50:05,581 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:50:05,581 INFO L495 AbstractCegarLoop]: Abstraction has 928 states and 1034 transitions. [2022-04-27 11:50:05,581 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:50:05,581 INFO L276 IsEmpty]: Start isEmpty. Operand 928 states and 1034 transitions. [2022-04-27 11:50:05,587 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-27 11:50:05,587 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:50:05,587 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 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-27 11:50:05,605 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (83)] Forceful destruction successful, exit code 0 [2022-04-27 11:50:05,803 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 83 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable91 [2022-04-27 11:50:05,803 INFO L420 AbstractCegarLoop]: === Iteration 93 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:50:05,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:50:05,804 INFO L85 PathProgramCache]: Analyzing trace with hash 1830582477, now seen corresponding path program 83 times [2022-04-27 11:50:05,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:50:05,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1660901280] [2022-04-27 11:50:05,804 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:50:05,804 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:50:05,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:05,865 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:50:05,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:05,866 INFO L290 TraceCheckUtils]: 0: Hoare triple {215682#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {215629#true} is VALID [2022-04-27 11:50:05,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {215629#true} assume true; {215629#true} is VALID [2022-04-27 11:50:05,867 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {215629#true} {215629#true} #117#return; {215629#true} is VALID [2022-04-27 11:50:05,867 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:50:05,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:05,995 INFO L290 TraceCheckUtils]: 0: Hoare triple {215629#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:05,996 INFO L290 TraceCheckUtils]: 1: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:05,996 INFO L290 TraceCheckUtils]: 2: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:05,996 INFO L290 TraceCheckUtils]: 3: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:05,996 INFO L290 TraceCheckUtils]: 4: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:05,997 INFO L290 TraceCheckUtils]: 5: Hoare triple {215683#(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; {215684#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:50:05,997 INFO L290 TraceCheckUtils]: 6: Hoare triple {215684#(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; {215685#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:50:05,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {215685#(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; {215686#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:50:05,998 INFO L290 TraceCheckUtils]: 8: Hoare triple {215686#(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; {215687#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:50:05,998 INFO L290 TraceCheckUtils]: 9: Hoare triple {215687#(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; {215688#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:50:05,998 INFO L290 TraceCheckUtils]: 10: Hoare triple {215688#(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; {215689#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:50:05,999 INFO L290 TraceCheckUtils]: 11: Hoare triple {215689#(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; {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:50:05,999 INFO L290 TraceCheckUtils]: 12: Hoare triple {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:50:05,999 INFO L290 TraceCheckUtils]: 13: Hoare triple {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {215691#(and (<= 21 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 21))} is VALID [2022-04-27 11:50:06,000 INFO L290 TraceCheckUtils]: 14: Hoare triple {215691#(and (<= 21 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 21))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {215692#(and (<= 21 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 21))} is VALID [2022-04-27 11:50:06,000 INFO L290 TraceCheckUtils]: 15: Hoare triple {215692#(and (<= 21 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 21))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {215693#(and (<= 21 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 21))} is VALID [2022-04-27 11:50:06,000 INFO L290 TraceCheckUtils]: 16: Hoare triple {215693#(and (<= 21 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 21))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} is VALID [2022-04-27 11:50:06,001 INFO L290 TraceCheckUtils]: 17: Hoare triple {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} assume !(~x~0 < ~i~0); {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} is VALID [2022-04-27 11:50:06,001 INFO L290 TraceCheckUtils]: 18: Hoare triple {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} #res := ~y~0; {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} is VALID [2022-04-27 11:50:06,001 INFO L290 TraceCheckUtils]: 19: Hoare triple {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} assume true; {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} is VALID [2022-04-27 11:50:06,001 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} {215629#true} #111#return; {215655#(and (<= 21 |main_#t~ret8|) (<= |main_#t~ret8| 21))} is VALID [2022-04-27 11:50:06,002 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-27 11:50:06,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:06,226 INFO L290 TraceCheckUtils]: 0: Hoare triple {215629#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:06,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:06,226 INFO L290 TraceCheckUtils]: 2: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:06,226 INFO L290 TraceCheckUtils]: 3: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:06,227 INFO L290 TraceCheckUtils]: 4: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:06,227 INFO L290 TraceCheckUtils]: 5: Hoare triple {215696#(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; {215697#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:50:06,227 INFO L290 TraceCheckUtils]: 6: Hoare triple {215697#(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; {215698#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:50:06,228 INFO L290 TraceCheckUtils]: 7: Hoare triple {215698#(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; {215699#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:50:06,228 INFO L290 TraceCheckUtils]: 8: Hoare triple {215699#(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; {215700#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:50:06,228 INFO L290 TraceCheckUtils]: 9: Hoare triple {215700#(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; {215701#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:50:06,229 INFO L290 TraceCheckUtils]: 10: Hoare triple {215701#(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; {215702#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:50:06,229 INFO L290 TraceCheckUtils]: 11: Hoare triple {215702#(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; {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:50:06,229 INFO L290 TraceCheckUtils]: 12: Hoare triple {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:50:06,230 INFO L290 TraceCheckUtils]: 13: Hoare triple {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {215704#(and (<= 21 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 21))} is VALID [2022-04-27 11:50:06,230 INFO L290 TraceCheckUtils]: 14: Hoare triple {215704#(and (<= 21 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 21))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {215705#(and (<= 21 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 21))} is VALID [2022-04-27 11:50:06,230 INFO L290 TraceCheckUtils]: 15: Hoare triple {215705#(and (<= 21 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 21))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {215706#(and (<= (+ student_version_~j~1 student_version_~y~1) 21) (<= 21 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:50:06,231 INFO L290 TraceCheckUtils]: 16: Hoare triple {215706#(and (<= (+ student_version_~j~1 student_version_~y~1) 21) (<= 21 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} is VALID [2022-04-27 11:50:06,231 INFO L290 TraceCheckUtils]: 17: Hoare triple {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} assume !(~x~1 < ~i~1); {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} is VALID [2022-04-27 11:50:06,231 INFO L290 TraceCheckUtils]: 18: Hoare triple {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} #res := ~y~1; {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} is VALID [2022-04-27 11:50:06,231 INFO L290 TraceCheckUtils]: 19: Hoare triple {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} assume true; {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} is VALID [2022-04-27 11:50:06,232 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} {215656#(and (<= 21 main_~n_stones1~0) (<= main_~n_stones1~0 21))} #113#return; {215678#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:50:06,232 INFO L272 TraceCheckUtils]: 0: Hoare triple {215629#true} call ULTIMATE.init(); {215682#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:50:06,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {215682#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {215629#true} is VALID [2022-04-27 11:50:06,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {215629#true} assume true; {215629#true} is VALID [2022-04-27 11:50:06,232 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {215629#true} {215629#true} #117#return; {215629#true} is VALID [2022-04-27 11:50:06,232 INFO L272 TraceCheckUtils]: 4: Hoare triple {215629#true} call #t~ret10 := main(); {215629#true} is VALID [2022-04-27 11:50:06,232 INFO L290 TraceCheckUtils]: 5: Hoare triple {215629#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {215629#true} is VALID [2022-04-27 11:50:06,232 INFO L290 TraceCheckUtils]: 6: Hoare triple {215629#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {215629#true} is VALID [2022-04-27 11:50:06,233 INFO L272 TraceCheckUtils]: 7: Hoare triple {215629#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {215629#true} is VALID [2022-04-27 11:50:06,233 INFO L290 TraceCheckUtils]: 8: Hoare triple {215629#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:06,233 INFO L290 TraceCheckUtils]: 9: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:06,233 INFO L290 TraceCheckUtils]: 10: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:06,233 INFO L290 TraceCheckUtils]: 11: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:06,234 INFO L290 TraceCheckUtils]: 12: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:06,234 INFO L290 TraceCheckUtils]: 13: Hoare triple {215683#(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; {215684#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:50:06,234 INFO L290 TraceCheckUtils]: 14: Hoare triple {215684#(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; {215685#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:50:06,235 INFO L290 TraceCheckUtils]: 15: Hoare triple {215685#(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; {215686#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:50:06,235 INFO L290 TraceCheckUtils]: 16: Hoare triple {215686#(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; {215687#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:50:06,235 INFO L290 TraceCheckUtils]: 17: Hoare triple {215687#(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; {215688#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:50:06,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {215688#(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; {215689#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:50:06,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {215689#(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; {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:50:06,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:50:06,236 INFO L290 TraceCheckUtils]: 21: Hoare triple {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {215691#(and (<= 21 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 21))} is VALID [2022-04-27 11:50:06,237 INFO L290 TraceCheckUtils]: 22: Hoare triple {215691#(and (<= 21 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 21))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {215692#(and (<= 21 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 21))} is VALID [2022-04-27 11:50:06,237 INFO L290 TraceCheckUtils]: 23: Hoare triple {215692#(and (<= 21 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 21))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {215693#(and (<= 21 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 21))} is VALID [2022-04-27 11:50:06,237 INFO L290 TraceCheckUtils]: 24: Hoare triple {215693#(and (<= 21 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 21))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} is VALID [2022-04-27 11:50:06,238 INFO L290 TraceCheckUtils]: 25: Hoare triple {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} assume !(~x~0 < ~i~0); {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} is VALID [2022-04-27 11:50:06,238 INFO L290 TraceCheckUtils]: 26: Hoare triple {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} #res := ~y~0; {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} is VALID [2022-04-27 11:50:06,238 INFO L290 TraceCheckUtils]: 27: Hoare triple {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} assume true; {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} is VALID [2022-04-27 11:50:06,239 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} {215629#true} #111#return; {215655#(and (<= 21 |main_#t~ret8|) (<= |main_#t~ret8| 21))} is VALID [2022-04-27 11:50:06,239 INFO L290 TraceCheckUtils]: 29: Hoare triple {215655#(and (<= 21 |main_#t~ret8|) (<= |main_#t~ret8| 21))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {215656#(and (<= 21 main_~n_stones1~0) (<= main_~n_stones1~0 21))} is VALID [2022-04-27 11:50:06,239 INFO L272 TraceCheckUtils]: 30: Hoare triple {215656#(and (<= 21 main_~n_stones1~0) (<= main_~n_stones1~0 21))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {215629#true} is VALID [2022-04-27 11:50:06,239 INFO L290 TraceCheckUtils]: 31: Hoare triple {215629#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:06,239 INFO L290 TraceCheckUtils]: 32: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:06,240 INFO L290 TraceCheckUtils]: 33: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:06,240 INFO L290 TraceCheckUtils]: 34: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:06,240 INFO L290 TraceCheckUtils]: 35: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:06,240 INFO L290 TraceCheckUtils]: 36: Hoare triple {215696#(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; {215697#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:50:06,241 INFO L290 TraceCheckUtils]: 37: Hoare triple {215697#(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; {215698#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:50:06,241 INFO L290 TraceCheckUtils]: 38: Hoare triple {215698#(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; {215699#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:50:06,241 INFO L290 TraceCheckUtils]: 39: Hoare triple {215699#(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; {215700#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:50:06,242 INFO L290 TraceCheckUtils]: 40: Hoare triple {215700#(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; {215701#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:50:06,242 INFO L290 TraceCheckUtils]: 41: Hoare triple {215701#(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; {215702#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:50:06,242 INFO L290 TraceCheckUtils]: 42: Hoare triple {215702#(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; {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:50:06,242 INFO L290 TraceCheckUtils]: 43: Hoare triple {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:50:06,243 INFO L290 TraceCheckUtils]: 44: Hoare triple {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {215704#(and (<= 21 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 21))} is VALID [2022-04-27 11:50:06,243 INFO L290 TraceCheckUtils]: 45: Hoare triple {215704#(and (<= 21 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 21))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {215705#(and (<= 21 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 21))} is VALID [2022-04-27 11:50:06,243 INFO L290 TraceCheckUtils]: 46: Hoare triple {215705#(and (<= 21 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 21))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {215706#(and (<= (+ student_version_~j~1 student_version_~y~1) 21) (<= 21 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:50:06,244 INFO L290 TraceCheckUtils]: 47: Hoare triple {215706#(and (<= (+ student_version_~j~1 student_version_~y~1) 21) (<= 21 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} is VALID [2022-04-27 11:50:06,244 INFO L290 TraceCheckUtils]: 48: Hoare triple {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} assume !(~x~1 < ~i~1); {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} is VALID [2022-04-27 11:50:06,244 INFO L290 TraceCheckUtils]: 49: Hoare triple {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} #res := ~y~1; {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} is VALID [2022-04-27 11:50:06,244 INFO L290 TraceCheckUtils]: 50: Hoare triple {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} assume true; {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} is VALID [2022-04-27 11:50:06,245 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} {215656#(and (<= 21 main_~n_stones1~0) (<= main_~n_stones1~0 21))} #113#return; {215678#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:50:06,245 INFO L290 TraceCheckUtils]: 52: Hoare triple {215678#(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; {215679#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:50:06,246 INFO L272 TraceCheckUtils]: 53: Hoare triple {215679#(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)); {215680#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:50:06,246 INFO L290 TraceCheckUtils]: 54: Hoare triple {215680#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {215681#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:50:06,246 INFO L290 TraceCheckUtils]: 55: Hoare triple {215681#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {215630#false} is VALID [2022-04-27 11:50:06,246 INFO L290 TraceCheckUtils]: 56: Hoare triple {215630#false} assume !false; {215630#false} is VALID [2022-04-27 11:50:06,246 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 0 proven. 68 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 11:50:06,246 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:50:06,246 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1660901280] [2022-04-27 11:50:06,246 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1660901280] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:50:06,246 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [616125333] [2022-04-27 11:50:06,246 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 11:50:06,246 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:50:06,247 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:50:06,248 INFO L229 MonitoredProcess]: Starting monitored process 84 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:50:06,250 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (84)] Waiting until timeout for monitored process [2022-04-27 11:50:06,325 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2022-04-27 11:50:06,325 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:50:06,326 INFO L263 TraceCheckSpWp]: Trace formula consists of 278 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-27 11:50:06,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:06,332 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:50:06,904 INFO L272 TraceCheckUtils]: 0: Hoare triple {215629#true} call ULTIMATE.init(); {215629#true} is VALID [2022-04-27 11:50:06,905 INFO L290 TraceCheckUtils]: 1: Hoare triple {215629#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {215629#true} is VALID [2022-04-27 11:50:06,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {215629#true} assume true; {215629#true} is VALID [2022-04-27 11:50:06,905 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {215629#true} {215629#true} #117#return; {215629#true} is VALID [2022-04-27 11:50:06,905 INFO L272 TraceCheckUtils]: 4: Hoare triple {215629#true} call #t~ret10 := main(); {215629#true} is VALID [2022-04-27 11:50:06,905 INFO L290 TraceCheckUtils]: 5: Hoare triple {215629#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {215629#true} is VALID [2022-04-27 11:50:06,905 INFO L290 TraceCheckUtils]: 6: Hoare triple {215629#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {215629#true} is VALID [2022-04-27 11:50:06,905 INFO L272 TraceCheckUtils]: 7: Hoare triple {215629#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {215629#true} is VALID [2022-04-27 11:50:06,905 INFO L290 TraceCheckUtils]: 8: Hoare triple {215629#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:06,905 INFO L290 TraceCheckUtils]: 9: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:06,906 INFO L290 TraceCheckUtils]: 10: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:06,906 INFO L290 TraceCheckUtils]: 11: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:06,906 INFO L290 TraceCheckUtils]: 12: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:06,906 INFO L290 TraceCheckUtils]: 13: Hoare triple {215683#(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; {215684#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:50:06,907 INFO L290 TraceCheckUtils]: 14: Hoare triple {215684#(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; {215685#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:50:06,907 INFO L290 TraceCheckUtils]: 15: Hoare triple {215685#(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; {215686#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:50:06,908 INFO L290 TraceCheckUtils]: 16: Hoare triple {215686#(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; {215687#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:50:06,908 INFO L290 TraceCheckUtils]: 17: Hoare triple {215687#(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; {215688#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:50:06,908 INFO L290 TraceCheckUtils]: 18: Hoare triple {215688#(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; {215689#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:50:06,909 INFO L290 TraceCheckUtils]: 19: Hoare triple {215689#(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; {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:50:06,909 INFO L290 TraceCheckUtils]: 20: Hoare triple {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:50:06,909 INFO L290 TraceCheckUtils]: 21: Hoare triple {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {215775#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7) (= correct_version_~y~0 0))} is VALID [2022-04-27 11:50:06,909 INFO L290 TraceCheckUtils]: 22: Hoare triple {215775#(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; {215779#(and (= correct_version_~j~0 correct_version_~y~0) (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:50:06,910 INFO L290 TraceCheckUtils]: 23: Hoare triple {215779#(and (= correct_version_~j~0 correct_version_~y~0) (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {215783#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7) (= correct_version_~y~0 (* correct_version_~j~0 2)))} is VALID [2022-04-27 11:50:06,910 INFO L290 TraceCheckUtils]: 24: Hoare triple {215783#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7) (= 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; {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} is VALID [2022-04-27 11:50:06,910 INFO L290 TraceCheckUtils]: 25: Hoare triple {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} assume !(~x~0 < ~i~0); {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} is VALID [2022-04-27 11:50:06,910 INFO L290 TraceCheckUtils]: 26: Hoare triple {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} #res := ~y~0; {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} is VALID [2022-04-27 11:50:06,911 INFO L290 TraceCheckUtils]: 27: Hoare triple {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} assume true; {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} is VALID [2022-04-27 11:50:06,911 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} {215629#true} #111#return; {215655#(and (<= 21 |main_#t~ret8|) (<= |main_#t~ret8| 21))} is VALID [2022-04-27 11:50:06,911 INFO L290 TraceCheckUtils]: 29: Hoare triple {215655#(and (<= 21 |main_#t~ret8|) (<= |main_#t~ret8| 21))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {215656#(and (<= 21 main_~n_stones1~0) (<= main_~n_stones1~0 21))} is VALID [2022-04-27 11:50:06,911 INFO L272 TraceCheckUtils]: 30: Hoare triple {215656#(and (<= 21 main_~n_stones1~0) (<= main_~n_stones1~0 21))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {215629#true} is VALID [2022-04-27 11:50:06,912 INFO L290 TraceCheckUtils]: 31: Hoare triple {215629#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:06,912 INFO L290 TraceCheckUtils]: 32: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:06,912 INFO L290 TraceCheckUtils]: 33: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:06,912 INFO L290 TraceCheckUtils]: 34: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:06,912 INFO L290 TraceCheckUtils]: 35: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:06,913 INFO L290 TraceCheckUtils]: 36: Hoare triple {215696#(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; {215697#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:50:06,913 INFO L290 TraceCheckUtils]: 37: Hoare triple {215697#(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; {215698#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:50:06,913 INFO L290 TraceCheckUtils]: 38: Hoare triple {215698#(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; {215699#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:50:06,914 INFO L290 TraceCheckUtils]: 39: Hoare triple {215699#(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; {215700#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:50:06,914 INFO L290 TraceCheckUtils]: 40: Hoare triple {215700#(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; {215701#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:50:06,914 INFO L290 TraceCheckUtils]: 41: Hoare triple {215701#(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; {215702#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:50:06,915 INFO L290 TraceCheckUtils]: 42: Hoare triple {215702#(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; {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:50:06,915 INFO L290 TraceCheckUtils]: 43: Hoare triple {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:50:06,915 INFO L290 TraceCheckUtils]: 44: Hoare triple {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {215847#(and (= student_version_~y~1 0) (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:50:06,916 INFO L290 TraceCheckUtils]: 45: Hoare triple {215847#(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; {215851#(and (<= student_version_~j~1 7) (= student_version_~j~1 student_version_~y~1) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:50:06,916 INFO L290 TraceCheckUtils]: 46: Hoare triple {215851#(and (<= student_version_~j~1 7) (= student_version_~j~1 student_version_~y~1) (<= 7 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {215855#(and (<= student_version_~j~1 7) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:50:06,916 INFO L290 TraceCheckUtils]: 47: Hoare triple {215855#(and (<= student_version_~j~1 7) (= (* 2 student_version_~j~1) student_version_~y~1) (<= 7 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} is VALID [2022-04-27 11:50:06,916 INFO L290 TraceCheckUtils]: 48: Hoare triple {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} assume !(~x~1 < ~i~1); {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} is VALID [2022-04-27 11:50:06,917 INFO L290 TraceCheckUtils]: 49: Hoare triple {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} #res := ~y~1; {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} is VALID [2022-04-27 11:50:06,917 INFO L290 TraceCheckUtils]: 50: Hoare triple {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} assume true; {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} is VALID [2022-04-27 11:50:06,917 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} {215656#(and (<= 21 main_~n_stones1~0) (<= main_~n_stones1~0 21))} #113#return; {215871#(and (<= |main_#t~ret9| 21) (<= 21 main_~n_stones1~0) (<= 21 |main_#t~ret9|) (<= main_~n_stones1~0 21))} is VALID [2022-04-27 11:50:06,918 INFO L290 TraceCheckUtils]: 52: Hoare triple {215871#(and (<= |main_#t~ret9| 21) (<= 21 main_~n_stones1~0) (<= 21 |main_#t~ret9|) (<= main_~n_stones1~0 21))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {215875#(and (<= 21 main_~n_stones1~0) (<= 21 main_~n_stones2~0) (<= main_~n_stones2~0 21) (<= main_~n_stones1~0 21))} is VALID [2022-04-27 11:50:06,918 INFO L272 TraceCheckUtils]: 53: Hoare triple {215875#(and (<= 21 main_~n_stones1~0) (<= 21 main_~n_stones2~0) (<= main_~n_stones2~0 21) (<= main_~n_stones1~0 21))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {215879#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:50:06,918 INFO L290 TraceCheckUtils]: 54: Hoare triple {215879#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {215883#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:50:06,918 INFO L290 TraceCheckUtils]: 55: Hoare triple {215883#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {215630#false} is VALID [2022-04-27 11:50:06,918 INFO L290 TraceCheckUtils]: 56: Hoare triple {215630#false} assume !false; {215630#false} is VALID [2022-04-27 11:50:06,919 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 0 proven. 68 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 11:50:06,919 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:50:07,233 INFO L290 TraceCheckUtils]: 56: Hoare triple {215630#false} assume !false; {215630#false} is VALID [2022-04-27 11:50:07,233 INFO L290 TraceCheckUtils]: 55: Hoare triple {215883#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {215630#false} is VALID [2022-04-27 11:50:07,233 INFO L290 TraceCheckUtils]: 54: Hoare triple {215879#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {215883#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:50:07,234 INFO L272 TraceCheckUtils]: 53: Hoare triple {215679#(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)); {215879#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:50:07,234 INFO L290 TraceCheckUtils]: 52: Hoare triple {215678#(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; {215679#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:50:07,235 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} {215656#(and (<= 21 main_~n_stones1~0) (<= main_~n_stones1~0 21))} #113#return; {215678#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:50:07,235 INFO L290 TraceCheckUtils]: 50: Hoare triple {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} assume true; {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} is VALID [2022-04-27 11:50:07,235 INFO L290 TraceCheckUtils]: 49: Hoare triple {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} #res := ~y~1; {215708#(and (<= 21 |student_version_#res|) (<= |student_version_#res| 21))} is VALID [2022-04-27 11:50:07,236 INFO L290 TraceCheckUtils]: 48: Hoare triple {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} assume !(~x~1 < ~i~1); {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} is VALID [2022-04-27 11:50:07,236 INFO L290 TraceCheckUtils]: 47: Hoare triple {215706#(and (<= (+ student_version_~j~1 student_version_~y~1) 21) (<= 21 (+ student_version_~j~1 student_version_~y~1)))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {215707#(and (<= student_version_~y~1 21) (<= 21 student_version_~y~1))} is VALID [2022-04-27 11:50:07,236 INFO L290 TraceCheckUtils]: 46: Hoare triple {215705#(and (<= 21 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 21))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {215706#(and (<= (+ student_version_~j~1 student_version_~y~1) 21) (<= 21 (+ student_version_~j~1 student_version_~y~1)))} is VALID [2022-04-27 11:50:07,237 INFO L290 TraceCheckUtils]: 45: Hoare triple {215704#(and (<= 21 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 21))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {215705#(and (<= 21 (+ (* 2 student_version_~j~1) student_version_~y~1)) (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 21))} is VALID [2022-04-27 11:50:07,237 INFO L290 TraceCheckUtils]: 44: Hoare triple {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {215704#(and (<= 21 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 21))} is VALID [2022-04-27 11:50:07,237 INFO L290 TraceCheckUtils]: 43: Hoare triple {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} assume !(~l~1 < ~m); {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:50:07,238 INFO L290 TraceCheckUtils]: 42: Hoare triple {215702#(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; {215703#(and (<= student_version_~j~1 7) (<= 7 student_version_~j~1))} is VALID [2022-04-27 11:50:07,238 INFO L290 TraceCheckUtils]: 41: Hoare triple {215701#(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; {215702#(and (<= student_version_~j~1 6) (<= 6 student_version_~j~1))} is VALID [2022-04-27 11:50:07,238 INFO L290 TraceCheckUtils]: 40: Hoare triple {215700#(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; {215701#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:50:07,239 INFO L290 TraceCheckUtils]: 39: Hoare triple {215699#(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; {215700#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:50:07,239 INFO L290 TraceCheckUtils]: 38: Hoare triple {215698#(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; {215699#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:50:07,239 INFO L290 TraceCheckUtils]: 37: Hoare triple {215697#(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; {215698#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:50:07,239 INFO L290 TraceCheckUtils]: 36: Hoare triple {215696#(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; {215697#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:50:07,240 INFO L290 TraceCheckUtils]: 35: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:07,240 INFO L290 TraceCheckUtils]: 34: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:07,240 INFO L290 TraceCheckUtils]: 33: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:07,240 INFO L290 TraceCheckUtils]: 32: Hoare triple {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:07,241 INFO L290 TraceCheckUtils]: 31: Hoare triple {215629#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {215696#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:07,241 INFO L272 TraceCheckUtils]: 30: Hoare triple {215656#(and (<= 21 main_~n_stones1~0) (<= main_~n_stones1~0 21))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {215629#true} is VALID [2022-04-27 11:50:07,241 INFO L290 TraceCheckUtils]: 29: Hoare triple {215655#(and (<= 21 |main_#t~ret8|) (<= |main_#t~ret8| 21))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {215656#(and (<= 21 main_~n_stones1~0) (<= main_~n_stones1~0 21))} is VALID [2022-04-27 11:50:07,241 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} {215629#true} #111#return; {215655#(and (<= 21 |main_#t~ret8|) (<= |main_#t~ret8| 21))} is VALID [2022-04-27 11:50:07,242 INFO L290 TraceCheckUtils]: 27: Hoare triple {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} assume true; {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} is VALID [2022-04-27 11:50:07,242 INFO L290 TraceCheckUtils]: 26: Hoare triple {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} #res := ~y~0; {215695#(and (<= |correct_version_#res| 21) (<= 21 |correct_version_#res|))} is VALID [2022-04-27 11:50:07,242 INFO L290 TraceCheckUtils]: 25: Hoare triple {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} assume !(~x~0 < ~i~0); {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} is VALID [2022-04-27 11:50:07,242 INFO L290 TraceCheckUtils]: 24: Hoare triple {215693#(and (<= 21 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 21))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {215694#(and (<= 21 correct_version_~y~0) (<= correct_version_~y~0 21))} is VALID [2022-04-27 11:50:07,243 INFO L290 TraceCheckUtils]: 23: Hoare triple {215692#(and (<= 21 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 21))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {215693#(and (<= 21 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 21))} is VALID [2022-04-27 11:50:07,243 INFO L290 TraceCheckUtils]: 22: Hoare triple {215691#(and (<= 21 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 21))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {215692#(and (<= 21 (+ correct_version_~y~0 (* correct_version_~j~0 2))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 21))} is VALID [2022-04-27 11:50:07,243 INFO L290 TraceCheckUtils]: 21: Hoare triple {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} ~x~0 := 0;~y~0 := 0; {215691#(and (<= 21 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 21))} is VALID [2022-04-27 11:50:07,244 INFO L290 TraceCheckUtils]: 20: Hoare triple {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} assume !(~l~0 < ~m); {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:50:07,244 INFO L290 TraceCheckUtils]: 19: Hoare triple {215689#(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; {215690#(and (<= 7 correct_version_~j~0) (<= correct_version_~j~0 7))} is VALID [2022-04-27 11:50:07,244 INFO L290 TraceCheckUtils]: 18: Hoare triple {215688#(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; {215689#(and (<= correct_version_~j~0 6) (<= 6 correct_version_~j~0))} is VALID [2022-04-27 11:50:07,245 INFO L290 TraceCheckUtils]: 17: Hoare triple {215687#(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; {215688#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:50:07,245 INFO L290 TraceCheckUtils]: 16: Hoare triple {215686#(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; {215687#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:50:07,245 INFO L290 TraceCheckUtils]: 15: Hoare triple {215685#(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; {215686#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:50:07,246 INFO L290 TraceCheckUtils]: 14: Hoare triple {215684#(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; {215685#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:50:07,246 INFO L290 TraceCheckUtils]: 13: Hoare triple {215683#(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; {215684#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:50:07,246 INFO L290 TraceCheckUtils]: 12: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:07,246 INFO L290 TraceCheckUtils]: 11: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:07,247 INFO L290 TraceCheckUtils]: 10: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:07,247 INFO L290 TraceCheckUtils]: 9: Hoare triple {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:07,247 INFO L290 TraceCheckUtils]: 8: Hoare triple {215629#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {215683#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:07,247 INFO L272 TraceCheckUtils]: 7: Hoare triple {215629#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {215629#true} is VALID [2022-04-27 11:50:07,247 INFO L290 TraceCheckUtils]: 6: Hoare triple {215629#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {215629#true} is VALID [2022-04-27 11:50:07,247 INFO L290 TraceCheckUtils]: 5: Hoare triple {215629#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {215629#true} is VALID [2022-04-27 11:50:07,247 INFO L272 TraceCheckUtils]: 4: Hoare triple {215629#true} call #t~ret10 := main(); {215629#true} is VALID [2022-04-27 11:50:07,247 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {215629#true} {215629#true} #117#return; {215629#true} is VALID [2022-04-27 11:50:07,247 INFO L290 TraceCheckUtils]: 2: Hoare triple {215629#true} assume true; {215629#true} is VALID [2022-04-27 11:50:07,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {215629#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {215629#true} is VALID [2022-04-27 11:50:07,248 INFO L272 TraceCheckUtils]: 0: Hoare triple {215629#true} call ULTIMATE.init(); {215629#true} is VALID [2022-04-27 11:50:07,248 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 0 proven. 68 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 11:50:07,248 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [616125333] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:50:07,248 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:50:07,248 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [35, 34, 34] total 45 [2022-04-27 11:50:07,248 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1500848160] [2022-04-27 11:50:07,248 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:50:07,248 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 57 [2022-04-27 11:50:07,249 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:50:07,249 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:50:07,288 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-27 11:50:07,288 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 45 states [2022-04-27 11:50:07,288 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:50:07,288 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2022-04-27 11:50:07,288 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=1875, Unknown=0, NotChecked=0, Total=1980 [2022-04-27 11:50:07,289 INFO L87 Difference]: Start difference. First operand 928 states and 1034 transitions. Second operand has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:50:18,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:18,716 INFO L93 Difference]: Finished difference Result 934 states and 1039 transitions. [2022-04-27 11:50:18,716 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2022-04-27 11:50:18,717 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 57 [2022-04-27 11:50:18,717 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 11:50:18,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:50:18,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 174 transitions. [2022-04-27 11:50:18,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:50:18,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 174 transitions. [2022-04-27 11:50:18,719 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 174 transitions. [2022-04-27 11:50:18,849 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-27 11:50:18,889 INFO L225 Difference]: With dead ends: 934 [2022-04-27 11:50:18,889 INFO L226 Difference]: Without dead ends: 910 [2022-04-27 11:50:18,907 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 100 SyntacticMatches, 9 SemanticMatches, 76 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 919 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=281, Invalid=5725, Unknown=0, NotChecked=0, Total=6006 [2022-04-27 11:50:18,907 INFO L413 NwaCegarLoop]: 94 mSDtfsCounter, 174 mSDsluCounter, 167 mSDsCounter, 0 mSdLazyCounter, 4767 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 178 SdHoareTripleChecker+Valid, 261 SdHoareTripleChecker+Invalid, 4805 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 4767 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-27 11:50:18,907 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [178 Valid, 261 Invalid, 4805 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 4767 Invalid, 0 Unknown, 0 Unchecked, 2.3s Time] [2022-04-27 11:50:18,908 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 910 states. [2022-04-27 11:50:25,792 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 910 to 910. [2022-04-27 11:50:25,792 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 11:50:25,793 INFO L82 GeneralOperation]: Start isEquivalent. First operand 910 states. Second operand has 910 states, 799 states have (on average 1.130162703379224) internal successors, (903), 867 states have internal predecessors, (903), 39 states have call successors, (39), 5 states have call predecessors, (39), 71 states have return successors, (72), 37 states have call predecessors, (72), 37 states have call successors, (72) [2022-04-27 11:50:25,794 INFO L74 IsIncluded]: Start isIncluded. First operand 910 states. Second operand has 910 states, 799 states have (on average 1.130162703379224) internal successors, (903), 867 states have internal predecessors, (903), 39 states have call successors, (39), 5 states have call predecessors, (39), 71 states have return successors, (72), 37 states have call predecessors, (72), 37 states have call successors, (72) [2022-04-27 11:50:25,794 INFO L87 Difference]: Start difference. First operand 910 states. Second operand has 910 states, 799 states have (on average 1.130162703379224) internal successors, (903), 867 states have internal predecessors, (903), 39 states have call successors, (39), 5 states have call predecessors, (39), 71 states have return successors, (72), 37 states have call predecessors, (72), 37 states have call successors, (72) [2022-04-27 11:50:25,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:25,822 INFO L93 Difference]: Finished difference Result 910 states and 1014 transitions. [2022-04-27 11:50:25,822 INFO L276 IsEmpty]: Start isEmpty. Operand 910 states and 1014 transitions. [2022-04-27 11:50:25,827 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:50:25,827 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:50:25,828 INFO L74 IsIncluded]: Start isIncluded. First operand has 910 states, 799 states have (on average 1.130162703379224) internal successors, (903), 867 states have internal predecessors, (903), 39 states have call successors, (39), 5 states have call predecessors, (39), 71 states have return successors, (72), 37 states have call predecessors, (72), 37 states have call successors, (72) Second operand 910 states. [2022-04-27 11:50:25,828 INFO L87 Difference]: Start difference. First operand has 910 states, 799 states have (on average 1.130162703379224) internal successors, (903), 867 states have internal predecessors, (903), 39 states have call successors, (39), 5 states have call predecessors, (39), 71 states have return successors, (72), 37 states have call predecessors, (72), 37 states have call successors, (72) Second operand 910 states. [2022-04-27 11:50:25,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 11:50:25,857 INFO L93 Difference]: Finished difference Result 910 states and 1014 transitions. [2022-04-27 11:50:25,857 INFO L276 IsEmpty]: Start isEmpty. Operand 910 states and 1014 transitions. [2022-04-27 11:50:25,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 11:50:25,862 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 11:50:25,862 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 11:50:25,862 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 11:50:25,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 910 states, 799 states have (on average 1.130162703379224) internal successors, (903), 867 states have internal predecessors, (903), 39 states have call successors, (39), 5 states have call predecessors, (39), 71 states have return successors, (72), 37 states have call predecessors, (72), 37 states have call successors, (72) [2022-04-27 11:50:25,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 910 states to 910 states and 1014 transitions. [2022-04-27 11:50:25,901 INFO L78 Accepts]: Start accepts. Automaton has 910 states and 1014 transitions. Word has length 57 [2022-04-27 11:50:25,901 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 11:50:25,901 INFO L495 AbstractCegarLoop]: Abstraction has 910 states and 1014 transitions. [2022-04-27 11:50:25,901 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:50:25,901 INFO L276 IsEmpty]: Start isEmpty. Operand 910 states and 1014 transitions. [2022-04-27 11:50:25,907 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-27 11:50:25,907 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 11:50:25,907 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 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] [2022-04-27 11:50:25,924 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (84)] Forceful destruction successful, exit code 0 [2022-04-27 11:50:26,119 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable92,84 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:50:26,119 INFO L420 AbstractCegarLoop]: === Iteration 94 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 11:50:26,119 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 11:50:26,119 INFO L85 PathProgramCache]: Analyzing trace with hash -381847411, now seen corresponding path program 84 times [2022-04-27 11:50:26,119 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 11:50:26,119 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1975830284] [2022-04-27 11:50:26,120 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 11:50:26,120 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 11:50:26,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:26,176 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 11:50:26,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:26,178 INFO L290 TraceCheckUtils]: 0: Hoare triple {220739#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {220686#true} is VALID [2022-04-27 11:50:26,178 INFO L290 TraceCheckUtils]: 1: Hoare triple {220686#true} assume true; {220686#true} is VALID [2022-04-27 11:50:26,178 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {220686#true} {220686#true} #117#return; {220686#true} is VALID [2022-04-27 11:50:26,178 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-27 11:50:26,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:26,302 INFO L290 TraceCheckUtils]: 0: Hoare triple {220686#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,302 INFO L290 TraceCheckUtils]: 1: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,302 INFO L290 TraceCheckUtils]: 2: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,302 INFO L290 TraceCheckUtils]: 3: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,303 INFO L290 TraceCheckUtils]: 4: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,303 INFO L290 TraceCheckUtils]: 5: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,303 INFO L290 TraceCheckUtils]: 6: Hoare triple {220740#(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; {220741#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:50:26,304 INFO L290 TraceCheckUtils]: 7: Hoare triple {220741#(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; {220742#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:50:26,304 INFO L290 TraceCheckUtils]: 8: Hoare triple {220742#(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; {220743#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:50:26,304 INFO L290 TraceCheckUtils]: 9: Hoare triple {220743#(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; {220744#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:50:26,305 INFO L290 TraceCheckUtils]: 10: Hoare triple {220744#(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; {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,305 INFO L290 TraceCheckUtils]: 11: Hoare triple {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,305 INFO L290 TraceCheckUtils]: 12: Hoare triple {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {220746#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 20) (<= 20 (+ correct_version_~y~0 (* correct_version_~j~0 4))))} is VALID [2022-04-27 11:50:26,305 INFO L290 TraceCheckUtils]: 13: Hoare triple {220746#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 20) (<= 20 (+ 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; {220747#(and (<= 20 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 20))} is VALID [2022-04-27 11:50:26,306 INFO L290 TraceCheckUtils]: 14: Hoare triple {220747#(and (<= 20 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 20))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {220748#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 20) (<= 20 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:50:26,306 INFO L290 TraceCheckUtils]: 15: Hoare triple {220748#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 20) (<= 20 (+ 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; {220749#(and (<= 20 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 20))} is VALID [2022-04-27 11:50:26,307 INFO L290 TraceCheckUtils]: 16: Hoare triple {220749#(and (<= 20 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 20))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} is VALID [2022-04-27 11:50:26,307 INFO L290 TraceCheckUtils]: 17: Hoare triple {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} assume !(~x~0 < ~i~0); {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} is VALID [2022-04-27 11:50:26,307 INFO L290 TraceCheckUtils]: 18: Hoare triple {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} #res := ~y~0; {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} is VALID [2022-04-27 11:50:26,307 INFO L290 TraceCheckUtils]: 19: Hoare triple {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} assume true; {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} is VALID [2022-04-27 11:50:26,308 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} {220686#true} #111#return; {220712#(and (<= 20 |main_#t~ret8|) (<= |main_#t~ret8| 20))} is VALID [2022-04-27 11:50:26,308 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-27 11:50:26,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:26,490 INFO L290 TraceCheckUtils]: 0: Hoare triple {220686#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:26,490 INFO L290 TraceCheckUtils]: 1: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:26,491 INFO L290 TraceCheckUtils]: 2: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:26,491 INFO L290 TraceCheckUtils]: 3: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:26,491 INFO L290 TraceCheckUtils]: 4: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:26,491 INFO L290 TraceCheckUtils]: 5: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:26,492 INFO L290 TraceCheckUtils]: 6: Hoare triple {220752#(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; {220753#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:50:26,492 INFO L290 TraceCheckUtils]: 7: Hoare triple {220753#(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; {220754#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:50:26,492 INFO L290 TraceCheckUtils]: 8: Hoare triple {220754#(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; {220755#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:50:26,493 INFO L290 TraceCheckUtils]: 9: Hoare triple {220755#(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; {220756#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:50:26,493 INFO L290 TraceCheckUtils]: 10: Hoare triple {220756#(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; {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:50:26,493 INFO L290 TraceCheckUtils]: 11: Hoare triple {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:50:26,493 INFO L290 TraceCheckUtils]: 12: Hoare triple {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {220758#(and (<= 20 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 20))} is VALID [2022-04-27 11:50:26,494 INFO L290 TraceCheckUtils]: 13: Hoare triple {220758#(and (<= 20 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 20))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {220759#(and (<= 20 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 20))} is VALID [2022-04-27 11:50:26,494 INFO L290 TraceCheckUtils]: 14: Hoare triple {220759#(and (<= 20 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 20))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {220760#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 20) (<= 20 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:50:26,495 INFO L290 TraceCheckUtils]: 15: Hoare triple {220760#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 20) (<= 20 (+ (* 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; {220761#(and (<= 20 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 20))} is VALID [2022-04-27 11:50:26,495 INFO L290 TraceCheckUtils]: 16: Hoare triple {220761#(and (<= 20 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 20))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} is VALID [2022-04-27 11:50:26,495 INFO L290 TraceCheckUtils]: 17: Hoare triple {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} assume !(~x~1 < ~i~1); {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} is VALID [2022-04-27 11:50:26,495 INFO L290 TraceCheckUtils]: 18: Hoare triple {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} #res := ~y~1; {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} is VALID [2022-04-27 11:50:26,496 INFO L290 TraceCheckUtils]: 19: Hoare triple {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} assume true; {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} is VALID [2022-04-27 11:50:26,496 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} {220713#(and (<= main_~n_stones1~0 20) (<= 20 main_~n_stones1~0))} #113#return; {220735#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:50:26,496 INFO L272 TraceCheckUtils]: 0: Hoare triple {220686#true} call ULTIMATE.init(); {220739#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 11:50:26,496 INFO L290 TraceCheckUtils]: 1: Hoare triple {220739#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {220686#true} is VALID [2022-04-27 11:50:26,496 INFO L290 TraceCheckUtils]: 2: Hoare triple {220686#true} assume true; {220686#true} is VALID [2022-04-27 11:50:26,497 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {220686#true} {220686#true} #117#return; {220686#true} is VALID [2022-04-27 11:50:26,497 INFO L272 TraceCheckUtils]: 4: Hoare triple {220686#true} call #t~ret10 := main(); {220686#true} is VALID [2022-04-27 11:50:26,497 INFO L290 TraceCheckUtils]: 5: Hoare triple {220686#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {220686#true} is VALID [2022-04-27 11:50:26,497 INFO L290 TraceCheckUtils]: 6: Hoare triple {220686#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {220686#true} is VALID [2022-04-27 11:50:26,497 INFO L272 TraceCheckUtils]: 7: Hoare triple {220686#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {220686#true} is VALID [2022-04-27 11:50:26,497 INFO L290 TraceCheckUtils]: 8: Hoare triple {220686#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,497 INFO L290 TraceCheckUtils]: 9: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,497 INFO L290 TraceCheckUtils]: 10: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,498 INFO L290 TraceCheckUtils]: 11: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,498 INFO L290 TraceCheckUtils]: 12: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,498 INFO L290 TraceCheckUtils]: 13: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,499 INFO L290 TraceCheckUtils]: 14: Hoare triple {220740#(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; {220741#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:50:26,499 INFO L290 TraceCheckUtils]: 15: Hoare triple {220741#(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; {220742#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:50:26,499 INFO L290 TraceCheckUtils]: 16: Hoare triple {220742#(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; {220743#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:50:26,500 INFO L290 TraceCheckUtils]: 17: Hoare triple {220743#(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; {220744#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:50:26,500 INFO L290 TraceCheckUtils]: 18: Hoare triple {220744#(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; {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,500 INFO L290 TraceCheckUtils]: 19: Hoare triple {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:50:26,500 INFO L290 TraceCheckUtils]: 20: Hoare triple {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {220746#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 20) (<= 20 (+ correct_version_~y~0 (* correct_version_~j~0 4))))} is VALID [2022-04-27 11:50:26,501 INFO L290 TraceCheckUtils]: 21: Hoare triple {220746#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 20) (<= 20 (+ 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; {220747#(and (<= 20 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 20))} is VALID [2022-04-27 11:50:26,501 INFO L290 TraceCheckUtils]: 22: Hoare triple {220747#(and (<= 20 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 20))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {220748#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 20) (<= 20 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:50:26,501 INFO L290 TraceCheckUtils]: 23: Hoare triple {220748#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 20) (<= 20 (+ 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; {220749#(and (<= 20 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 20))} is VALID [2022-04-27 11:50:26,502 INFO L290 TraceCheckUtils]: 24: Hoare triple {220749#(and (<= 20 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 20))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} is VALID [2022-04-27 11:50:26,502 INFO L290 TraceCheckUtils]: 25: Hoare triple {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} assume !(~x~0 < ~i~0); {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} is VALID [2022-04-27 11:50:26,502 INFO L290 TraceCheckUtils]: 26: Hoare triple {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} #res := ~y~0; {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} is VALID [2022-04-27 11:50:26,502 INFO L290 TraceCheckUtils]: 27: Hoare triple {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} assume true; {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} is VALID [2022-04-27 11:50:26,503 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} {220686#true} #111#return; {220712#(and (<= 20 |main_#t~ret8|) (<= |main_#t~ret8| 20))} is VALID [2022-04-27 11:50:26,503 INFO L290 TraceCheckUtils]: 29: Hoare triple {220712#(and (<= 20 |main_#t~ret8|) (<= |main_#t~ret8| 20))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {220713#(and (<= main_~n_stones1~0 20) (<= 20 main_~n_stones1~0))} is VALID [2022-04-27 11:50:26,503 INFO L272 TraceCheckUtils]: 30: Hoare triple {220713#(and (<= main_~n_stones1~0 20) (<= 20 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {220686#true} is VALID [2022-04-27 11:50:26,503 INFO L290 TraceCheckUtils]: 31: Hoare triple {220686#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:26,504 INFO L290 TraceCheckUtils]: 32: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:26,504 INFO L290 TraceCheckUtils]: 33: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:26,504 INFO L290 TraceCheckUtils]: 34: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:26,504 INFO L290 TraceCheckUtils]: 35: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:26,504 INFO L290 TraceCheckUtils]: 36: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:26,505 INFO L290 TraceCheckUtils]: 37: Hoare triple {220752#(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; {220753#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:50:26,505 INFO L290 TraceCheckUtils]: 38: Hoare triple {220753#(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; {220754#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:50:26,505 INFO L290 TraceCheckUtils]: 39: Hoare triple {220754#(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; {220755#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:50:26,506 INFO L290 TraceCheckUtils]: 40: Hoare triple {220755#(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; {220756#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:50:26,506 INFO L290 TraceCheckUtils]: 41: Hoare triple {220756#(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; {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:50:26,506 INFO L290 TraceCheckUtils]: 42: Hoare triple {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:50:26,507 INFO L290 TraceCheckUtils]: 43: Hoare triple {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {220758#(and (<= 20 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 20))} is VALID [2022-04-27 11:50:26,507 INFO L290 TraceCheckUtils]: 44: Hoare triple {220758#(and (<= 20 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 20))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {220759#(and (<= 20 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 20))} is VALID [2022-04-27 11:50:26,507 INFO L290 TraceCheckUtils]: 45: Hoare triple {220759#(and (<= 20 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 20))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {220760#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 20) (<= 20 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:50:26,508 INFO L290 TraceCheckUtils]: 46: Hoare triple {220760#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 20) (<= 20 (+ (* 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; {220761#(and (<= 20 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 20))} is VALID [2022-04-27 11:50:26,508 INFO L290 TraceCheckUtils]: 47: Hoare triple {220761#(and (<= 20 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 20))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} is VALID [2022-04-27 11:50:26,508 INFO L290 TraceCheckUtils]: 48: Hoare triple {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} assume !(~x~1 < ~i~1); {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} is VALID [2022-04-27 11:50:26,508 INFO L290 TraceCheckUtils]: 49: Hoare triple {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} #res := ~y~1; {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} is VALID [2022-04-27 11:50:26,509 INFO L290 TraceCheckUtils]: 50: Hoare triple {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} assume true; {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} is VALID [2022-04-27 11:50:26,509 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} {220713#(and (<= main_~n_stones1~0 20) (<= 20 main_~n_stones1~0))} #113#return; {220735#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:50:26,509 INFO L290 TraceCheckUtils]: 52: Hoare triple {220735#(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; {220736#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:50:26,510 INFO L272 TraceCheckUtils]: 53: Hoare triple {220736#(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)); {220737#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 11:50:26,510 INFO L290 TraceCheckUtils]: 54: Hoare triple {220737#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {220738#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 11:50:26,510 INFO L290 TraceCheckUtils]: 55: Hoare triple {220738#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {220687#false} is VALID [2022-04-27 11:50:26,510 INFO L290 TraceCheckUtils]: 56: Hoare triple {220687#false} assume !false; {220687#false} is VALID [2022-04-27 11:50:26,510 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 0 proven. 50 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-27 11:50:26,510 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 11:50:26,511 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1975830284] [2022-04-27 11:50:26,511 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1975830284] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 11:50:26,511 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1285212483] [2022-04-27 11:50:26,511 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-27 11:50:26,511 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 11:50:26,511 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 11:50:26,513 INFO L229 MonitoredProcess]: Starting monitored process 85 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 11:50:26,514 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (85)] Waiting until timeout for monitored process [2022-04-27 11:50:26,591 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-27 11:50:26,591 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 11:50:26,593 INFO L263 TraceCheckSpWp]: Trace formula consists of 278 conjuncts, 59 conjunts are in the unsatisfiable core [2022-04-27 11:50:26,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 11:50:26,599 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 11:50:27,230 INFO L272 TraceCheckUtils]: 0: Hoare triple {220686#true} call ULTIMATE.init(); {220686#true} is VALID [2022-04-27 11:50:27,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {220686#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {220686#true} is VALID [2022-04-27 11:50:27,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {220686#true} assume true; {220686#true} is VALID [2022-04-27 11:50:27,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {220686#true} {220686#true} #117#return; {220686#true} is VALID [2022-04-27 11:50:27,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {220686#true} call #t~ret10 := main(); {220686#true} is VALID [2022-04-27 11:50:27,231 INFO L290 TraceCheckUtils]: 5: Hoare triple {220686#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {220686#true} is VALID [2022-04-27 11:50:27,231 INFO L290 TraceCheckUtils]: 6: Hoare triple {220686#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {220686#true} is VALID [2022-04-27 11:50:27,231 INFO L272 TraceCheckUtils]: 7: Hoare triple {220686#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {220686#true} is VALID [2022-04-27 11:50:27,231 INFO L290 TraceCheckUtils]: 8: Hoare triple {220686#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,232 INFO L290 TraceCheckUtils]: 9: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,232 INFO L290 TraceCheckUtils]: 10: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,232 INFO L290 TraceCheckUtils]: 11: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,233 INFO L290 TraceCheckUtils]: 12: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,233 INFO L290 TraceCheckUtils]: 13: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,233 INFO L290 TraceCheckUtils]: 14: Hoare triple {220740#(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; {220741#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:50:27,234 INFO L290 TraceCheckUtils]: 15: Hoare triple {220741#(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; {220742#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:50:27,234 INFO L290 TraceCheckUtils]: 16: Hoare triple {220742#(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; {220743#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:50:27,235 INFO L290 TraceCheckUtils]: 17: Hoare triple {220743#(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; {220744#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:50:27,235 INFO L290 TraceCheckUtils]: 18: Hoare triple {220744#(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; {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,235 INFO L290 TraceCheckUtils]: 19: Hoare triple {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {220827#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 0))} is VALID [2022-04-27 11:50:27,236 INFO L290 TraceCheckUtils]: 21: Hoare triple {220827#(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; {220831#(and (= correct_version_~j~0 correct_version_~y~0) (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,237 INFO L290 TraceCheckUtils]: 22: Hoare triple {220831#(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; {220835#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)))} is VALID [2022-04-27 11:50:27,237 INFO L290 TraceCheckUtils]: 23: Hoare triple {220835#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 2)))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {220839#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= correct_version_~y~0 (* correct_version_~j~0 3)))} is VALID [2022-04-27 11:50:27,238 INFO L290 TraceCheckUtils]: 24: Hoare triple {220839#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0) (= 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; {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} is VALID [2022-04-27 11:50:27,238 INFO L290 TraceCheckUtils]: 25: Hoare triple {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} assume !(~x~0 < ~i~0); {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} is VALID [2022-04-27 11:50:27,238 INFO L290 TraceCheckUtils]: 26: Hoare triple {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} #res := ~y~0; {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} is VALID [2022-04-27 11:50:27,238 INFO L290 TraceCheckUtils]: 27: Hoare triple {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} assume true; {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} is VALID [2022-04-27 11:50:27,239 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} {220686#true} #111#return; {220712#(and (<= 20 |main_#t~ret8|) (<= |main_#t~ret8| 20))} is VALID [2022-04-27 11:50:27,239 INFO L290 TraceCheckUtils]: 29: Hoare triple {220712#(and (<= 20 |main_#t~ret8|) (<= |main_#t~ret8| 20))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {220713#(and (<= main_~n_stones1~0 20) (<= 20 main_~n_stones1~0))} is VALID [2022-04-27 11:50:27,240 INFO L272 TraceCheckUtils]: 30: Hoare triple {220713#(and (<= main_~n_stones1~0 20) (<= 20 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {220686#true} is VALID [2022-04-27 11:50:27,240 INFO L290 TraceCheckUtils]: 31: Hoare triple {220686#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:27,240 INFO L290 TraceCheckUtils]: 32: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:27,241 INFO L290 TraceCheckUtils]: 33: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:27,241 INFO L290 TraceCheckUtils]: 34: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:27,241 INFO L290 TraceCheckUtils]: 35: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:27,242 INFO L290 TraceCheckUtils]: 36: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:27,242 INFO L290 TraceCheckUtils]: 37: Hoare triple {220752#(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; {220753#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:50:27,242 INFO L290 TraceCheckUtils]: 38: Hoare triple {220753#(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; {220754#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:50:27,243 INFO L290 TraceCheckUtils]: 39: Hoare triple {220754#(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; {220755#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:50:27,243 INFO L290 TraceCheckUtils]: 40: Hoare triple {220755#(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; {220756#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:50:27,244 INFO L290 TraceCheckUtils]: 41: Hoare triple {220756#(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; {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:50:27,244 INFO L290 TraceCheckUtils]: 42: Hoare triple {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:50:27,244 INFO L290 TraceCheckUtils]: 43: Hoare triple {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {220900#(and (<= student_version_~j~1 5) (= student_version_~y~1 0) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:50:27,245 INFO L290 TraceCheckUtils]: 44: Hoare triple {220900#(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; {220904#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} is VALID [2022-04-27 11:50:27,245 INFO L290 TraceCheckUtils]: 45: Hoare triple {220904#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1) (= (+ student_version_~y~1 (* (- 1) student_version_~j~1)) 0))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {220908#(and (<= student_version_~j~1 5) (= (+ student_version_~y~1 (* (- 2) student_version_~j~1)) 0) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:50:27,246 INFO L290 TraceCheckUtils]: 46: Hoare triple {220908#(and (<= student_version_~j~1 5) (= (+ student_version_~y~1 (* (- 2) student_version_~j~1)) 0) (<= 5 student_version_~j~1))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {220912#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1) (= student_version_~y~1 (* 3 student_version_~j~1)))} is VALID [2022-04-27 11:50:27,246 INFO L290 TraceCheckUtils]: 47: Hoare triple {220912#(and (<= student_version_~j~1 5) (<= 5 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; {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} is VALID [2022-04-27 11:50:27,247 INFO L290 TraceCheckUtils]: 48: Hoare triple {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} assume !(~x~1 < ~i~1); {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} is VALID [2022-04-27 11:50:27,247 INFO L290 TraceCheckUtils]: 49: Hoare triple {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} #res := ~y~1; {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} is VALID [2022-04-27 11:50:27,247 INFO L290 TraceCheckUtils]: 50: Hoare triple {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} assume true; {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} is VALID [2022-04-27 11:50:27,248 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} {220713#(and (<= main_~n_stones1~0 20) (<= 20 main_~n_stones1~0))} #113#return; {220928#(and (<= main_~n_stones1~0 20) (<= 20 main_~n_stones1~0) (<= 20 |main_#t~ret9|) (<= |main_#t~ret9| 20))} is VALID [2022-04-27 11:50:27,248 INFO L290 TraceCheckUtils]: 52: Hoare triple {220928#(and (<= main_~n_stones1~0 20) (<= 20 main_~n_stones1~0) (<= 20 |main_#t~ret9|) (<= |main_#t~ret9| 20))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~n_stones2~0 := #t~ret9;havoc #t~ret9; {220932#(and (<= main_~n_stones1~0 20) (<= 20 main_~n_stones2~0) (<= 20 main_~n_stones1~0) (<= main_~n_stones2~0 20))} is VALID [2022-04-27 11:50:27,249 INFO L272 TraceCheckUtils]: 53: Hoare triple {220932#(and (<= main_~n_stones1~0 20) (<= 20 main_~n_stones2~0) (<= 20 main_~n_stones1~0) (<= main_~n_stones2~0 20))} call __VERIFIER_assert((if ~n_stones1~0 == ~n_stones2~0 then 1 else 0)); {220936#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:50:27,249 INFO L290 TraceCheckUtils]: 54: Hoare triple {220936#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {220940#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:50:27,249 INFO L290 TraceCheckUtils]: 55: Hoare triple {220940#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {220687#false} is VALID [2022-04-27 11:50:27,249 INFO L290 TraceCheckUtils]: 56: Hoare triple {220687#false} assume !false; {220687#false} is VALID [2022-04-27 11:50:27,250 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 0 proven. 50 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-27 11:50:27,250 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 11:50:27,615 INFO L290 TraceCheckUtils]: 56: Hoare triple {220687#false} assume !false; {220687#false} is VALID [2022-04-27 11:50:27,615 INFO L290 TraceCheckUtils]: 55: Hoare triple {220940#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {220687#false} is VALID [2022-04-27 11:50:27,615 INFO L290 TraceCheckUtils]: 54: Hoare triple {220936#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {220940#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 11:50:27,616 INFO L272 TraceCheckUtils]: 53: Hoare triple {220736#(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)); {220936#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 11:50:27,616 INFO L290 TraceCheckUtils]: 52: Hoare triple {220735#(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; {220736#(and (<= main_~n_stones1~0 main_~n_stones2~0) (< main_~n_stones2~0 (+ main_~n_stones1~0 1)))} is VALID [2022-04-27 11:50:27,617 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} {220713#(and (<= main_~n_stones1~0 20) (<= 20 main_~n_stones1~0))} #113#return; {220735#(and (<= main_~n_stones1~0 |main_#t~ret9|) (<= |main_#t~ret9| main_~n_stones1~0))} is VALID [2022-04-27 11:50:27,617 INFO L290 TraceCheckUtils]: 50: Hoare triple {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} assume true; {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} is VALID [2022-04-27 11:50:27,617 INFO L290 TraceCheckUtils]: 49: Hoare triple {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} #res := ~y~1; {220763#(and (<= |student_version_#res| 20) (<= 20 |student_version_#res|))} is VALID [2022-04-27 11:50:27,617 INFO L290 TraceCheckUtils]: 48: Hoare triple {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} assume !(~x~1 < ~i~1); {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} is VALID [2022-04-27 11:50:27,618 INFO L290 TraceCheckUtils]: 47: Hoare triple {220761#(and (<= 20 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 20))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {220762#(and (<= student_version_~y~1 20) (<= 20 student_version_~y~1))} is VALID [2022-04-27 11:50:27,618 INFO L290 TraceCheckUtils]: 46: Hoare triple {220760#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 20) (<= 20 (+ (* 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; {220761#(and (<= 20 (+ student_version_~j~1 student_version_~y~1)) (<= (+ student_version_~j~1 student_version_~y~1) 20))} is VALID [2022-04-27 11:50:27,618 INFO L290 TraceCheckUtils]: 45: Hoare triple {220759#(and (<= 20 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 20))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {220760#(and (<= (+ (* 2 student_version_~j~1) student_version_~y~1) 20) (<= 20 (+ (* 2 student_version_~j~1) student_version_~y~1)))} is VALID [2022-04-27 11:50:27,619 INFO L290 TraceCheckUtils]: 44: Hoare triple {220758#(and (<= 20 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 20))} assume !!(~x~1 < ~i~1);~y~1 := ~y~1 + ~j~1;~x~1 := 1 + ~x~1; {220759#(and (<= 20 (+ student_version_~y~1 (* 3 student_version_~j~1))) (<= (+ student_version_~y~1 (* 3 student_version_~j~1)) 20))} is VALID [2022-04-27 11:50:27,619 INFO L290 TraceCheckUtils]: 43: Hoare triple {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} ~x~1 := 0;~y~1 := 0; {220758#(and (<= 20 (+ (* student_version_~j~1 4) student_version_~y~1)) (<= (+ (* student_version_~j~1 4) student_version_~y~1) 20))} is VALID [2022-04-27 11:50:27,619 INFO L290 TraceCheckUtils]: 42: Hoare triple {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} assume !(~l~1 < ~m); {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:50:27,620 INFO L290 TraceCheckUtils]: 41: Hoare triple {220756#(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; {220757#(and (<= student_version_~j~1 5) (<= 5 student_version_~j~1))} is VALID [2022-04-27 11:50:27,620 INFO L290 TraceCheckUtils]: 40: Hoare triple {220755#(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; {220756#(and (<= 4 student_version_~j~1) (<= student_version_~j~1 4))} is VALID [2022-04-27 11:50:27,620 INFO L290 TraceCheckUtils]: 39: Hoare triple {220754#(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; {220755#(and (<= student_version_~j~1 3) (<= 3 student_version_~j~1))} is VALID [2022-04-27 11:50:27,621 INFO L290 TraceCheckUtils]: 38: Hoare triple {220753#(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; {220754#(and (<= student_version_~j~1 2) (<= 2 student_version_~j~1))} is VALID [2022-04-27 11:50:27,621 INFO L290 TraceCheckUtils]: 37: Hoare triple {220752#(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; {220753#(and (<= student_version_~j~1 1) (<= 1 student_version_~j~1))} is VALID [2022-04-27 11:50:27,621 INFO L290 TraceCheckUtils]: 36: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !(~b~1 < ~n); {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:27,621 INFO L290 TraceCheckUtils]: 35: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:27,622 INFO L290 TraceCheckUtils]: 34: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:27,622 INFO L290 TraceCheckUtils]: 33: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:27,622 INFO L290 TraceCheckUtils]: 32: Hoare triple {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} assume !!(~b~1 < ~n);~b~1 := ~b~1 + ~a;~i~1 := 1 + ~i~1; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:27,622 INFO L290 TraceCheckUtils]: 31: Hoare triple {220686#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~1 := 0;~j~1 := 0;~b~1 := 0;~l~1 := 0; {220752#(and (<= student_version_~j~1 0) (<= 0 student_version_~j~1))} is VALID [2022-04-27 11:50:27,622 INFO L272 TraceCheckUtils]: 30: Hoare triple {220713#(and (<= main_~n_stones1~0 20) (<= 20 main_~n_stones1~0))} call #t~ret9 := student_version(~n~0, ~m~0, ~a~0); {220686#true} is VALID [2022-04-27 11:50:27,623 INFO L290 TraceCheckUtils]: 29: Hoare triple {220712#(and (<= 20 |main_#t~ret8|) (<= |main_#t~ret8| 20))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~n_stones1~0 := #t~ret8;havoc #t~ret8; {220713#(and (<= main_~n_stones1~0 20) (<= 20 main_~n_stones1~0))} is VALID [2022-04-27 11:50:27,623 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} {220686#true} #111#return; {220712#(and (<= 20 |main_#t~ret8|) (<= |main_#t~ret8| 20))} is VALID [2022-04-27 11:50:27,623 INFO L290 TraceCheckUtils]: 27: Hoare triple {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} assume true; {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} is VALID [2022-04-27 11:50:27,623 INFO L290 TraceCheckUtils]: 26: Hoare triple {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} #res := ~y~0; {220751#(and (<= 20 |correct_version_#res|) (<= |correct_version_#res| 20))} is VALID [2022-04-27 11:50:27,624 INFO L290 TraceCheckUtils]: 25: Hoare triple {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} assume !(~x~0 < ~i~0); {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} is VALID [2022-04-27 11:50:27,624 INFO L290 TraceCheckUtils]: 24: Hoare triple {220749#(and (<= 20 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 20))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {220750#(and (<= correct_version_~y~0 20) (<= 20 correct_version_~y~0))} is VALID [2022-04-27 11:50:27,624 INFO L290 TraceCheckUtils]: 23: Hoare triple {220748#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 20) (<= 20 (+ 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; {220749#(and (<= 20 (+ correct_version_~j~0 correct_version_~y~0)) (<= (+ correct_version_~j~0 correct_version_~y~0) 20))} is VALID [2022-04-27 11:50:27,625 INFO L290 TraceCheckUtils]: 22: Hoare triple {220747#(and (<= 20 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 20))} assume !!(~x~0 < ~i~0);~y~0 := ~y~0 + ~j~0;~x~0 := 1 + ~x~0; {220748#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 2)) 20) (<= 20 (+ correct_version_~y~0 (* correct_version_~j~0 2))))} is VALID [2022-04-27 11:50:27,625 INFO L290 TraceCheckUtils]: 21: Hoare triple {220746#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 20) (<= 20 (+ 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; {220747#(and (<= 20 (+ correct_version_~y~0 (* correct_version_~j~0 3))) (<= (+ correct_version_~y~0 (* correct_version_~j~0 3)) 20))} is VALID [2022-04-27 11:50:27,625 INFO L290 TraceCheckUtils]: 20: Hoare triple {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} ~x~0 := 0;~y~0 := 0; {220746#(and (<= (+ correct_version_~y~0 (* correct_version_~j~0 4)) 20) (<= 20 (+ correct_version_~y~0 (* correct_version_~j~0 4))))} is VALID [2022-04-27 11:50:27,626 INFO L290 TraceCheckUtils]: 19: Hoare triple {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} assume !(~l~0 < ~m); {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,626 INFO L290 TraceCheckUtils]: 18: Hoare triple {220744#(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; {220745#(and (<= correct_version_~j~0 5) (<= 5 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,626 INFO L290 TraceCheckUtils]: 17: Hoare triple {220743#(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; {220744#(and (<= 4 correct_version_~j~0) (<= correct_version_~j~0 4))} is VALID [2022-04-27 11:50:27,627 INFO L290 TraceCheckUtils]: 16: Hoare triple {220742#(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; {220743#(and (<= 3 correct_version_~j~0) (<= correct_version_~j~0 3))} is VALID [2022-04-27 11:50:27,627 INFO L290 TraceCheckUtils]: 15: Hoare triple {220741#(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; {220742#(and (<= 2 correct_version_~j~0) (<= correct_version_~j~0 2))} is VALID [2022-04-27 11:50:27,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {220740#(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; {220741#(and (<= 1 correct_version_~j~0) (<= correct_version_~j~0 1))} is VALID [2022-04-27 11:50:27,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !(~b~0 < ~n); {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,628 INFO L290 TraceCheckUtils]: 12: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,628 INFO L290 TraceCheckUtils]: 11: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,628 INFO L290 TraceCheckUtils]: 10: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} assume !!(~b~0 < ~n);~b~0 := ~b~0 + ~a;~i~0 := 1 + ~i~0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,629 INFO L290 TraceCheckUtils]: 8: Hoare triple {220686#true} ~n := #in~n;~m := #in~m;~a := #in~a;~i~0 := 0;~j~0 := 0;~b~0 := 0;~l~0 := 0; {220740#(and (<= correct_version_~j~0 0) (<= 0 correct_version_~j~0))} is VALID [2022-04-27 11:50:27,629 INFO L272 TraceCheckUtils]: 7: Hoare triple {220686#true} call #t~ret8 := correct_version(~n~0, ~m~0, ~a~0); {220686#true} is VALID [2022-04-27 11:50:27,629 INFO L290 TraceCheckUtils]: 6: Hoare triple {220686#true} assume ((((1 <= ~n~0 && 1 <= ~m~0) && 1 <= ~a~0) && ~n~0 <= 109) && ~m~0 <= 109) && ~a~0 <= 109; {220686#true} is VALID [2022-04-27 11:50:27,629 INFO L290 TraceCheckUtils]: 5: Hoare triple {220686#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~n~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~m~0 := #t~nondet6;havoc #t~nondet6;havoc ~n_stones1~0;assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~n_stones2~0 := #t~nondet7;havoc #t~nondet7;~n_stones1~0 := ~n_stones2~0; {220686#true} is VALID [2022-04-27 11:50:27,629 INFO L272 TraceCheckUtils]: 4: Hoare triple {220686#true} call #t~ret10 := main(); {220686#true} is VALID [2022-04-27 11:50:27,629 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {220686#true} {220686#true} #117#return; {220686#true} is VALID [2022-04-27 11:50:27,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {220686#true} assume true; {220686#true} is VALID [2022-04-27 11:50:27,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {220686#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(16, 2);call #Ultimate.allocInit(12, 3); {220686#true} is VALID [2022-04-27 11:50:27,629 INFO L272 TraceCheckUtils]: 0: Hoare triple {220686#true} call ULTIMATE.init(); {220686#true} is VALID [2022-04-27 11:50:27,629 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 0 proven. 50 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-04-27 11:50:27,629 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1285212483] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 11:50:27,629 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 11:50:27,629 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [33, 32, 32] total 45 [2022-04-27 11:50:27,630 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [609143423] [2022-04-27 11:50:27,630 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 11:50:27,630 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 57 [2022-04-27 11:50:27,630 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 11:50:27,630 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 11:50:27,657 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-27 11:50:27,657 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 45 states [2022-04-27 11:50:27,657 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 11:50:27,657 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2022-04-27 11:50:27,657 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=109, Invalid=1871, Unknown=0, NotChecked=0, Total=1980 [2022-04-27 11:50:27,657 INFO L87 Difference]: Start difference. First operand 910 states and 1014 transitions. Second operand has 45 states, 42 states have (on average 1.3571428571428572) internal successors, (57), 39 states have internal predecessors, (57), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4)